Express/nodejsを使用しているときに、アップロードされたファイルからファイルコンテンツを抽出する方法を誰かが知っているかどうか疑問に思っていました
次のコードがあり、入力をファイルストリームにパイプする方法は明らかですが、アップロードをプレーンな JavaScript オブジェクトに逆シリアル化するにはどうすればよいですか? 目的は、アップロードされたファイルから情報を抽出し、別の場所で使用することです。理想的には、ディスク上の一時ファイルを経由したくありません。ファイルの形式はjsonです。
app.post("/upload", function(req, res){
req.pipe(req.busboy);
req.busboy.on('file', function (fieldname, file, filename) {
console.log("Uploading: " + filename);
console.log(file);
console.log(fieldname);
// I don't want to go via a file, but straight to a JS object
//fstream = fs.createWriteStream('/files/' + filename);
//
//file.pipe(fstream);
//
//fstream.on('close', function () {
//
// res.redirect('back');
//
//});
});
});
ファイルのアップロードは次のようにトリガーされます。
var formData = new FormData($('form')[0]);
e.preventDefault();
$.ajax({
url: 'upload',
type: 'POST',
data: formData,
cache: false,
dataType:'json',
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
}
});