vue上传多个文件,附件和其他数据一起传给后台

Posted Jack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue上传多个文件,附件和其他数据一起传给后台相关的知识,希望对你有一定的参考价值。

前端:

实现多图上传主要用到以下两个属性:

      

<el-form-item label="附件上传" label-width="80px">
     
<el-form-item label="附件上传" label-width="80px">
<el-upload
style="padding-left:0px"
class="upload-demo"
action="admin/zuul/lcloud-elis-rms-gwb/um/rmsAnnex/upload"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:data="{idSalesTccUserNotetice:form.idSalesTccUserNotetice }"
multiple
:auto-upload="false"
:http-request="uploadFile"
ref="upload"
:limit="5"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-form-item>
    
 
   
uploadFile(file){
this.formDate.append(‘file‘, file.file);
},
//发布
saveProject1(){
this.formDate = new FormData()
this.$refs.upload.submit();
var uid = JSON.parse(window.sessionStorage.getItem("keyLimit")).username;
this.formDate.append(‘noticeTitle‘, this.form.noticeTitle);
this.formDate.append(‘noticeType‘, this.form.noticeType);
this.formDate.append(‘isPublic‘, this.form.isPublic);
this.formDate.append(‘note‘, this.form.note);
this.formDate.append(‘idSalesTccUserNotetice‘, this.form.idSalesTccUserNotetice);
this.formDate.append(‘uid‘, uid);
let config = {
headers: {
‘Content-Type‘: ‘multipart/form-data‘
}
}
this.axios.post("admin/zuul/lcloud-elis-rms-gwb/um/userNotice/save",this.formDate,config).then(res=>{
if(res.code == ‘0‘){
if(res.object.status == 200){
this.$emit(‘close‘);
this.$emit(‘getNoticeList‘);
 
}
}

}).catch(err => {
     console.log(err)                    
     })
},
 

java后台:

   

@ResponseBody
@RequestMapping("/save")
public TResult insert (@RequestParam("file") MultipartFile[] file,@RequestParam("noticeTitle") String noticeTitle,
@RequestParam("noticeType") String noticeType,@RequestParam("isPublic") Integer isPublic,@RequestParam("note") String note,
@RequestParam("uid") String uid,HttpServletRequest request) {
TResult result = new TResult();
System.out.println(file.length);

}

以上是关于vue上传多个文件,附件和其他数据一起传给后台的主要内容,如果未能解决你的问题,请参考以下文章

Jasny 与其他表单元素一起上传多个文件

[FE] 用 FormData 上传多个文件到 MultipartFile[] 接口

基于file上传文件的并发上传(多个文件一起上传到后台并把数据存储的同一条数据中,如 数据库字段videopath,imge。前台发送来的文件file1,file2。 videopath=file1,

django框架 input 文本框 单选框 多选框 上传文件 等数据传输后台的程序 request.getlist接收多个结果 obj.chunks 用于文件传输 enctype="

一个后台管理平台,用vue+elementUI写的,有个附件上传之后,下载不下来

vue上传图片并压缩后以formData形式传给后台