handleChange(file) {
console.log(file);
this.fileList.push(file)//图片回显
this.$refs.form.clearValidate('photo')//清除图⽚校验⽂字
},
httpRequest(param) {
this.file.push(param.file) //param.file包含上传文件的所有信息
//这里想把之前的数据传回后端
}
我做的就是一个个人信息的增删改查,信息中有一项就是照片,我做的是每个人可以上传多张照片,现在的问题就是,修改的时候只能覆盖掉以前的照片重写上传,我想做到保留以前的照片,在此基础上增加或者删除
这是list列表:
<el-form-item label="照片" prop="photo">
<!-- <img v-for="item in imgUrls" :src="'http://localhost:8081/'+item" width="100">-->
<el-upload
action=""
ref="upload"
:auto-upload="false"
accept=".jpg,.png,.gif"
:on-change="handleChange"
:http-request="httpRequest"
:file-list="fileList"
list-type="picture-card"
:multiple="true"
:limit="9"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件</div>
</el-upload>
</el-form-item>
这个应该是你后端的操作吧,保留还是覆盖删除,应该是你后端操作数据库,并非你前端的是,前端如果执行的是删除图片操作,那么把要删除的图片路径以及对应的数据ID传过去,后端进行删除,并更新存储图片的字段就好了
你要看一下你的接口支不支持多图片上传
那就修改的时候后端会把所有图片返回给你啊,然后你修改的时候也是在这个接收数组里做增删改查,提交的时候也是提交这个数组啊,所以提交的就是最新的啊,不是覆盖
1、首先你得让后端把你之前传的图片的参数返给你;
2、其次你得保证上传支持多文件;
3、最后编辑保存的时候,把后端返给你的之前的图片信息+你后传的图片信息,格式化为接口要的参数格式传给后端