Я хочу заставить браузер загружать файл из внешнего хранилища с учетом URL-адреса. Я реализовал этот экспресс-контроллер после действия:node express content-disposition
var download = function(req, res) {
request(req.body.url).on('response', function(response) {
res.set({
'Content-Disposition': 'attachment; filename=' + req.body.filename,
'Content-Type': response.headers['content-type']
});
})
.pipe(res);
};
Я не знаю, почему браузер всегда получает «инлайн» вместо «прикрепления», избегая меня, чтобы загрузить файл.
В этом случае я использую экспресс и запрос, сервер размещен на Heroku, а сервером, на котором размещаются файлы, является FilePicker.
FWIW, ваш код будет делать неправильные вещи в случае, если имя файла содержит пробелы, определенные ограничители, или не-ASCII символов. См. RFC 6266. –