逐步上传多个文件并列出已上传的文件(NodeJS + Multer)

时间:2018-11-30 23:49:43

标签: javascript node.js file-upload multer

我正在使用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以某种方式获取输入文件并为每个文件调用发布请求。

我要避免的是观察完全写入文件的目标文件夹。

感谢您的帮助,提示或评论。

0 个答案:

没有答案