问题描述
我想在更改选择菜单选项栏时上传文件。首先,我通过从“选择文件”选项中选择文件来上传文件。然后,单击选择菜单,然后从“状态”列中选择“完成”选项。
在选择此选项时,我希望此操作意味着我希望所有文件都可以使用POST AJAX或任何其他可能的方式上载到数据库。我该如何实现? 以下是选择菜单选项和上载选项的UI代码:
<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);
}