在我的反应前端内部,我有一个名为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 dictCount ={};
var storage = multer.diskStorage({
destination: mypath
});
var upload = multer({
storage: storage
}).any();
upload(req, res, async err => {
try {
if (err) {
console.log(err);
return res.end('Error');
} else {
await bluebird.each(req.files, async item => {
const data = fs.readFileSync(item.path);
// figure out the word count here
var topFeatures = {};
Object.keys(dictCount).forEach(function(key) {
console.log(dictCount[key].count);
if(dictCount[key].count>6){
topFeatures[key] = {word:key, count:dictCount[key].count};
}
});
//console.log(topFeatures);
// how to send top features back to the frontend?
//res.send({"name":"lol"});
res.end('File uploaded');
}
} catch (e) {
res.end('Error')
}
});
});
我的问题是:有没有办法在此发布请求中返回包含最常用单词的json格式数据,以便我可以在react组件中执行set状态并更新网页?谢谢!