【发布时间】:2014-05-19 08:11:09
【问题描述】:
我在服务器上使用这样的节点模块:
- “快递”:“~3.3.5”,
- “猫鼬”:“~3.6.17”,
- “mongodb”:“*”,
- “gridfs-stream”:“*”
服务器在 https 上运行并需要身份验证。
获取文件的代码如下:
var conn = mongoose.createConnection(app.get('mongoUrl'), { db: { safe: true }});
conn.once('open', function() {
var gfs = Grid(conn.db, mongoose.mongo);
var readStream = gfs.createReadStream({_id: fileId});
readStream.on("open", function() {
res.header( "Content-Type", "application/octet-stream");
res.header( "Content-Disposition", "attachment; filename=\"" + fileName + "\"");
readStream.pipe(response);
});
});
在桌面 Chrome 浏览器上运行良好。它也适用于移动 Firefox 浏览器。
但在移动版 Chrome 34 上它失败了。
下载开始,几分钟后出现通知下载失败。
问题已在 LG Nexus 4 Android 4.4、Asus Nexus 7 Android 4.2、Samsung Galaxy S3 Android 4.2、Samsung Galaxy i9250 Android 4.3 上进行了测试。
我认为问题可能出在响应标头中,也可能是移动 Chrome 错误。
【问题讨论】:
标签: android node.js mongodb google-chrome express