当前位置:首页 > 编程笔记 > 正文
已解决

ElementUI的el-upload上传组件与表单一起提交遇到的各种问题以及解决办法(超详细,每个步骤都有详细解读)

来自网友在路上 177877提问 提问时间:2023-11-11 15:59:35阅读次数: 77

最佳答案 问答题库778位专家为你答疑解惑

背景: 使用ruoyi-vue进行2次开发,需要实现表单与文件上传一起提交,并且文件上传有4个,且文件校验很复杂,因此ruoyi-vue集成的上传组件FileUpload调试几天后发现真不太适用,最终选择element UI原生组件el-upload(FileUpload也是基于el-upload实现的),要实现表单与文件同时提交面临很多问题:

1. 首先ruoyi-vue生成代码中的接口不太适用 (put请求因为遇到很多问题,因此改成了网上统一使用的post请求),接口修改如下:

@RepeatSubmit //禁止重复提交
@Log(title = "文书发布记录", businessType = BusinessType.UPDATE)
@PostMapping("update")   public AjaxResult edit(ReleaseRecord releaseRecord, MultipartFile uploadFile2) throws Exception {//处理上传的文件逻辑....return toAjax(releaseRecordService.updateReleaseRecord(releaseRecord));}
/*
@RequestParam("uploadFile1")  
@RequestBody("uploadFile2")
@RequestPart("uploadFile2")
以上3个注解也是解决问题的途中去掉的,如果有这三种注解会有各种各样的问题,参考下面遇到的问题
*/

2. 前端表单提交方法修改(原本是put请求,因此需要随着API的修改而变化):

// 修改文书发布记录
export function updateRelease_record(data) {return request({url: '/pc-release/update',method: 'post',data: data})
}

3. 表单片段(上传组件,其他基础表单例如input类的太简单就不一一列举)

<el-form-item :label="upload.uploadTitle2" label-width="150px" prop="uploadFile2"><template><el-upload class="upload-demo" action="#" :limit="1" :on-exceed="handleExceed" :auto-upload="false" :multiple="false" :http-request="uploadFile2" :accept="upload.fileType" ref="uploadExcel2"><el-button type="primary">选择文件</el-button><div slot&#
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"ElementUI的el-upload上传组件与表单一起提交遇到的各种问题以及解决办法(超详细,每个步骤都有详细解读)":http://eshow365.cn/6-37745-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!