node.jsを使用したサーバーサイドプログラミングは初めてです。私は今、小さなウェブアプリをそれにくっつけて、通常のスタートアップ学習をしています。次のコードはWORKSです。しかし、フォームから単純なファイルのアップロードを行い、それを 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 でバッファーをオフにする必要がありました。
私が学びたいのは、いつファイルをストリームロードし、いつ同期ロードするかです。これは、トラフィックの少ない非常に小さな Web アプリケーションになります。
多かれ少なかれ良い場合は、これを動作コードのトークンと見なしてください。これも要点に入れます。この種のドキュメントや実用的な例を見つけるのはそれほど簡単ではありません。私はフラットアイアンが大好きです。しかし、それは小さなモジュールのアプローチであり、ネット全体に散らばった多くのドキュメントや例につながり、チュートリアルについてだけ話します。