vue axios upload 多个文件

html

<input id="upload_file" type="file" multiple @change="v_upload_files"/>

注意input file 是不支持v-model的,因为v-model是双向数据绑定,而input file里面的文件只能通过点击选取来进行变更。所以这里只能用@change事件来触发上传

js

v_upload_files(e) {
  let files = e.target.files
  let formData = new FormData()
  // formData重复的往一个值添加数据并不会被覆盖掉,可以全部接收到,可以通过formData.getAll('files')来查看所有插入的数据
  for (let i = 0;i < files.length;i++) {
    formData.append('files', files[i])
  }
  let url = '/files/uploadfiles'
  let headers = {
    'Content-Type': 'multipart/form-data'
  }
  axios.post(url, formData, {headers: headers})
}

需要注意的是请求头需要设置为'Content-Type': 'multipart/form-data'



上一篇:jQuery ajax上传文件报错Uncaught TypeError: Illegal invocation


下一篇:FormData