我正在使用NodeJS + Multer一步上传多个文件。所选文件(使用文件输入)显示在列表中。这很好。现在,我想在每个文件上传成功后做出回应(例如,添加对勾符号)。
这是当前的发帖请求+ multer存储对象+上传功能(没什么特别的):
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, '/uploads');
},
filename: function (req, file, callback) {
callback(null, file.originalname);
}
});
var upload = multer({ storage : storage }).array('userfiles',50);
app.post('/api/upload',function(req,res){
upload(req,res,function(err) {
console.log(req.files);
if(err) {
return res.end("Error Uploading!");
}
res.end("Upload Successful!");
});
});
据我了解,上载功能处理整个存储对象以及multer中的所有文件。我完全没有机会做出成功回应。我的想法是拆分请求并遍历请求中的每个文件,将其作为单个文件上传并进行成功响应。看到我的伪代码:
app.post('/api/upload',function(req,res){
for (var SingleFile in req)
upload(SingleFile,res,next)
res.write("uploaded "+SingleFile)
});
我该怎么做?
其他方法:使用客户端JQuery以某种方式获取输入文件并为每个文件调用发布请求。
我要避免的是观察完全写入文件的目标文件夹。
感谢您的帮助,提示或评论。