【发布时间】:2018-04-11 17:02:43
【问题描述】:
所以在我的 react 前端中,我使用了“react-drop-to-upload”模块来允许用户拖动文件并上传。我按照 npm 模块页面上的示例创建了一个名为 handleDrop 的处理程序。代码如下:
handleDrop(files) {
var data = new FormData();
alert((files[0]) instanceof File);
files.forEach((file, index) => {
data.append('file' + index, file);
});
fetch('/file_upload', {
method: 'POST',
body: data
});
}
在我的快递后端,我有以下代码:
app.post('/file_upload', function(req , res){
var body = '';
req.on('data', function (data) {
body += data;
});
var post = "";
req.on('end', function () {
//post = qs.parse(body);
console.log(body);
// this won't create a buffer for me
//var fileBuffer = new Buffer(body);
//console.log(fileBuffer.toString('ascii'));
//pdfText(body, function(err, chunks) {
//console.log(chunks);
//});
});
//console.log(typeof post);
});
如果我删除一个 txt 文件并在正文上进行控制台日志,它会给我:
------WebKitFormBoundaryqlp9eomS0BxhFJkQ
Content-Disposition: form-data; name="file0"; filename="lec16.txt"
Content-Type: text/plain
The content of my data!
------WebKitFormBoundaryqlp9eomS0BxhFJkQ--
我正在尝试使用 pdfText 模块,它接收 pdf 文件的缓冲区或路径名,从中提取文本到文本数组中 'chunks' 。我想使用 var fileBuffer = new Buffer(body); 将 body 对象转换为缓冲区但这行不通。有人可以帮我弄这个吗?谢谢!
【问题讨论】:
标签: javascript reactjs express