Node.js 建议:扁平铁,强大和aws s3
我是node.js服务器端编程新手。我现在正在用它组装一个小小的网络应用程序,让创业公司像往常一样学习如何做。下面的代码可以工作。但我很想知道,从表单上传一个简单的文件并将其放入aws s3,这或多或少是一种正确的方式:Node.js 建议:扁平铁,强大和aws s3,node.js,amazon-s3,flatiron.js,formidable,Node.js,Amazon S3,Flatiron.js,Formidable,我是node.js服务器端编程新手。我现在正在用它组装一个小小的网络应用程序,让创业公司像往常一样学习如何做。下面的代码可以工作。但我很想知道,从表单上传一个简单的文件并将其放入aws s3,这或多或少是一种正确的方式: app.router.post('/form', { stream: true }, function () { var req = this.req, res = this.res, form = new formidable.Inc
app.router.post('/form', { stream: true }, function () {
var req = this.req,
res = this.res,
form = new formidable.IncomingForm();
form
.parse(req, function(err, fields, files) {
console.log('Parsed file upload' + err);
if (err) {
res.end('error: Upload failed: ' + err);
} else {
var img = fs.readFileSync(files.image.path);
var data = {
Bucket: 'le-bucket',
Key: files.image.name,
Body: img
};
s3.client.putObject(data, function() {
console.log("Successfully uploaded data to myBucket/myKey");
});
res.end('success: Uploaded file(s)');
}
});
});
注意:我必须在union/flatiron.plugins.http中关闭缓冲区
我想学习的是,何时流式加载文件以及何时同步加载文件。这将是一个非常小的网络应用程序,流量很小
如果它或多或少是好的,那么请考虑这是一个工作代码的标志,我也会把它放在一个要点。要找到这类东西的文档和工作示例并不容易。我非常喜欢熨斗。但它的小模块方法会导致网络上到处都是散乱的文档和示例,更不用说教程了。您应该使用其他模块,而不是Knowledge,因为据我所知,Knowledge没有s3存储选项,那么您必须在上传文件之前将文件保存在服务器中。 我建议您使用: 使用此选项可以直接上传到S3,而无需将其保存在服务器本地