將大文件(1.5GB)發送給連接速度爲<的客戶端2mbps導致瀏覽器僅接收1.08gb數據,但認爲下載完成。更快速的連接可以接收完整的1.5GB文件。Nginx無法從Node/Express應用發送完整文件
我Express.js應用附圖哪些文件來發送和與response#download
方法來響應:
app.get('/download-the-big-file', function(request, response) {
var file = {
name: 'awesome.file',
path: '/files/123-awesome.file'
};
response.header("X-Accel-Redirect: " + file.path);
response.download(file.path, file.name);
});
注意,我設置X-阿塞爾-重定向頭利用NginxXsendfile
我Nginx的配置:
server {
client_max_body_size 2g;
server_name localhost;
location/{
proxy_pass http://127.0.0.1:8000/;
}
location /files {
root /media/storage;
internal;
}
}