gpt4 book ai didi

node.js - 建议 : flatiron, 强大和 aws s3

转载 作者:搜寻专家 更新时间:2023-11-01 00:08:54 25 4
gpt4 key购买 nike

我是使用 node.js 进行服务器端编程的新手。我现在正在将一个小型网络应用程序与它粘在一起,并让通常的启动学习去做。以下代码有效。但我很想知道从表单上传简单文件并将其放入 aws s3 是否或多或少是一种正确的方法:

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 中关闭缓冲区。

我想了解的是,何时流式加载文件以及何时同步加载文件。这将是一个非常小的网络应用程序,流量很小。

如果它或多或少好,那么请将其视为工作代码的标志,我也会将其放入要点中。找到这类东西的文档和工作示例并不容易。我非常喜欢熨斗。但它的小模块方法导致网络上散落着大量散乱的文档和示例,更不用说教程了。

最佳答案

你应该使用除 formidable 之外的其他模块,因为据我所知 formidable 没有 s3 存储选项,那么你必须在上传之前将文件保存在你的服务器中。我建议您使用:multiparty

使用这个 example以便直接上传到 S3 而无需将其保存在您的服务器本地。

关于node.js - 建议 : flatiron, 强大和 aws s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14922949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com