用el-upload编辑已上传的附件,报错Required request part 'xx' is not present

这是上传附件代码

async filesUpload(orgId) {
      const fd = new FormData()
      fd.append('fjWord', this.institute.fjWord_list[0])
      fd.append('certificate', this.maternal.certificate_list[0])
      if (this.maternal.cccee_list && this.maternal.cccee_list.length > 0) {
        fd.append('cccee', this.maternal.cccee_list[0])
      }

      const res = await uploadOrgFiles(orgId, fd)
      console.log(fd, res)
      return new Promise((resolve) => resolve(res))
}

后端传回文件名和文件url,前端组成file-list

this.$set(this.institute, 'fjWord_list', [])
this.institute.fjWord_list.splice(0, 0, 1)
const viewFj = opt.viewFj || this.fjLabel
this.$set(this.institute.fjWord_list, 0, { name: viewFj, url: opt.fjWord })
this.src = opt.fjWord

我在上传后编辑附件时报错,Required request part 'fjWord' is not present

image.png

而常规的上传后组成的File格式的是这样的
image.png
这是formdata数据格式
image.png

在线蹲一个解决办法

阅读 6.5k
3 个回答

在编辑更新的时候文件File不要设置必填,即有文件就更新没有文件就跳过的策略

new File() 构建一个真正的文件对象

Array.prototype.slice.call(files) 将FileList转为数组。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题