【发布时间】:2023-03-30 17:30:01
【问题描述】:
尝试使用 skipper 和 skipper-s3 使用此代码将流式上传到 S3
image_upload : function (req,res) {
// depends on bodyparser:skipper in confing/http.js
console.log("Uploading image .. ");
req.file('image')
.upload({
adapter: require('skipper-s3'),
key: KEY,
secret: SECRET,
bucket: 'mybucket',
tmpdir: 'tmp/s3-multiparts'
}, function whenDone(err, uploadedFiles) {
if (err){
return res.negotiate(err);
} else {
dict = {
files: uploadedFiles,
textParams: req.params.all()
}
return res.ok(dict);
}
}
);
};
我有 2 个问题:
首先:当我尝试上传一些文件时,我可以看到这个文件在内存中缓冲,而不是只是缓冲到磁盘(路径添加到选项中)。
其实这是个大问题,当有很多用户同时上传时,我的内存会很快填满
第二次:当上传大于 5MB 时,我的应用程序崩溃,出现此错误
事件.js:85 投掷者; // 未处理的“错误”事件 ^ 错误:请求中止 在 IncomingMessage.onReqAborted (~Desktop/myApp/node_modules/sails/node_modules/skipper/node_modules/multiparty/index.js:175:17) 在 IncomingMessage.emit (events.js:104:17) 在 abortIncoming (_http_server.js:279:11) 在 Socket.serverSocketCloseListener (_http_server.js:292:5) 在 Socket.emit (events.js:129:20) 在 TCP.close (net.js:485:12)【问题讨论】:
标签: javascript node.js amazon-s3 sails.js