我在想,如果有人知道如何使用快车时,提取上传文件的文件内容/的NodeJS解析文件内容上传
我有下面的代码,它是清楚如何管道输入到FILESTREAM ,但我如何反序列化上传到一个普通的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) {
}
});
是否有当你使用'file.on('data',...)'或者使用一个像[JSONStream]这样的模块的内存中的所有数据时,你不能使用'JSON.parse'(https: //www.npmjs.com/package/JSONStream) – 2015-02-08 22:58:13
我试过json.parse,但是t他似乎将文件作为字符串提交给服务器,并且换行符似乎会导致解析器出现问题。 – TGH 2015-02-09 03:54:38