mic*_*lem 5 javascript file nginx node.js express
我有这个由Nginx代理的node.js应用程序(正在制作中).路线是这样的:
exports.download = function(req, res){
var id = req.params.id;
if (id && id == 'latest')
{
res.download(config.items.release_directory+'/<1.6GB-file>.zip', function(err){
if (err) {
console.log(err);
} else {
// do something
}
});
}
else
{
res.redirect(301, '/');
}
};
Run Code Online (Sandbox Code Playgroud)
因此,单击正确的路径/ URL,浏览器开始下载大文件,但随后它始终停止在1.08GB(文件大约为1.6GB),截断它.
我真的不明白为什么.有任何想法吗?
编辑:config.items.release_directory是一个静态Express目录,声明为:
app.use('/releases', express.static(path.join(__dirname, '..', 'releases')));
Run Code Online (Sandbox Code Playgroud)
编辑2:开发与grunt直接服务没有Nginx的应用程序它工作正常.
求助:阅读下面的评论,问题是Nginx中的proxy_max_temp_file_size变量
这里的问题是 nginx 配置,而不是 nodejs 代码。
nginx 在将临时文件发送到客户端之前将它们写入磁盘,如果站点要提供大型静态文件,则禁用此缓存通常是个好主意,例如:
location / {
proxy_max_temp_file_size 0;
}
Run Code Online (Sandbox Code Playgroud)
(没有限制)
归档时间: |
|
查看次数: |
1692 次 |
最近记录: |