2016-02-13 2 views
0

Я пытаюсь загрузить файл с Amazon S3 с помощью express.js и request.js с использованием метода pipe.Как загрузить файл с Amazon S3 с express.js и request.js?

Но когда я иду: LOCALHOST: 3000/скачать браузер скачать файл с именем «скачать» Как я могу установить имя файла для браузера, чтобы скачать такие как «myFile.zip»?

Это мой код:

var express = require('express'); 
var app = express(); 
var request = require('request'); 

app.get('/download', function(req, res){ 
    request('https://s3-us-west-2.amazonaws.com/bucket-name/object.zip') 
    .pipe(res.set('Content-Type', 'application/zip')) 
}); 

app.listen(3000); 

Любая помощь будет оценен по достоинству!

ответ

0

HTTP имеет заголовок Content-Disposition, который позволяет указать имя файла. Вот ваши настройки его для загрузки myFile.zip программы:

var express = require('express'); 
var app = express(); 
var request = require('request'); 

app.get('/download', function(req, res){ 
    request('https://s3-us-west-2.amazonaws.com/bucket-name/object.zip') 
    .pipe(res.set('Content-Type', 'application/zip').set('Content-Disposition', 'inline; filename="myFile.zip"') 
}); 

app.listen(3000); 

Источник: https://stackoverflow.com/a/1741508/2329281

+0

спасибо, это решение! –

Смежные вопросы