如何在Node.js中使用multer更改选择菜单选项时上传文件?

问题描述

我想在更改选择菜单选项栏时上传文件。首先,我通过从“选择文件”选项中选择文件上传文件。然后,单击选择菜单,然后从“状态”列中选择“完成”选项。

在选择此选项时,我希望此操作意味着我希望所有文件都可以使用POST AJAX或任何其他可能的方式上载到数据库。我该如何实现? 以下是选择菜单选项和上载选项的UI代码

enter image description here

HANDELBAR侧面代码: 我正在尝试以下代码

 <td>
      <div class="center">
    <select name="sources" id="{{this.commonID}}" class="custom-select sources" placeholder="{{this.status}}">
      <option value="0" selected="selected">In Progress</option>
      <option value="1" enctype="multipart/form-data" method="post">Done</option>
      <option value="2">Rejected</option>
    </select>
  </div>
  </td>
    <td><span id="deadline"> {{this.deadline}}</span></td>
    <td>
      <input type="file" id="{{this.commonID}}" class="btn btn-outline-warning" name="FileUploadForClient" multiple />
    </td>

在index.js中,这是我的multer代码

var storage = multer.diskStorage({
  destination: function (req,file,cb) {
    cb(null,'./public/files')
  },filename: function (req,cb) {
    x = file.originalname; //+path.extname(file.originalname);
  cb(null,x);
  }
});

var upload = multer({storage: storage});

解决方法

您应该像这样定义发布请求;

app.post('/uploadImages',upload.array('imageArray',5),(req,res,next) => {
    const files = req.files;
    if (!files) {
        throw err;
        }

        res.send(files);
    }