Contesto: app Node.js multilivello con Express. Front-end ospitato come sito Web di Azure, i dati di back-end provengono da Parse.Come inviare un file dall'URL remoto come risposta GET nell'app Node.js Express?
Ho un endpoint GET e voglio che l'esperienza utente sia un download di file. Se il file vissuto nello stesso server come il mio front-end, ho potuto utilizzare
res.sendfile(localPath);
Tuttavia, il file è ospitato dal mio back-end su un altro server e tutta la mia estremità anteriore conosce è l'URL. Così sto facendo attualmente:
res.redirect(externalURL);
Ciò si traduce nel browser navigazione verso l'URL del file risorsa (che è un video) e visualizza nel browser. Quello che voglio sapere è: come fare per scaricare il file da quel file e rimanere nella stessa pagina?
Ho cercato in giro per un po 'su questo e non vedo un modo di farlo senza prima scaricare il file in un file temporaneo sul mio front-end, che ovviamente preferirei non fare. Questo è probabilmente roba HTTP 101 quindi apprezzo qualsiasi aiuto!
L'utente può raggiungere questa pagina da un suo collegamento? È possibile utilizzare un attributo in questo caso: "". Altrimenti, dovrai eseguire il proxy. – Ryan
Sto servendo la pagina che ha il link che origina la richiesta che sto cercando di convertire in un download. Ho usato il metodo descritto da Mike S in basso per ottenere l'UX che sto cercando qui. Il risultato è comunque il trasferimento della risorsa due volte, quindi se qualcuno sa come ottenere questo UX senza il doppio trasferimento lo apprezzerò. – BillyRayCyrus