点击上传
当前位置:   article > 正文

Vue-el-upload 实现文件上传至后台_ele-upload 得到的file上传后端转化

ele-upload 得到的file上传后端转化

html部分

  1. <el-button type="primary" plain @click="uploadFile2()" style="float:right;" icon="el-icon-upload">点击上传</el-button>
  2. <input type="file" @change="fileValueChange2()" ref="uploadFile2" enctype="multipart/form-data" id="import_btn" style="display:none;">

 js部分

写在methods 方法中

  1. uploadFile2(){
  2. // 当点击button按钮后会触发此事件
  3. // 作用就是打开文件上传弹框
  4. this.$refs.uploadFile2.click()
  5. },
  6. fileValueChange2(){
  7. // 选中文件后,会触发input的change事件,即会进入此函数
  8. var formData = new FormData()
  9. // this.$refs.uploadFile2是vue中获取dom元素的方法
  10. // 通过files就可以拿到所有上传的文件,如果是多个文件循环即可
  11. formData.append( 'file',this.$refs.uploadFile2.files[0])
  12. // 必须设置请求类型
  13. //formData.append( 'type', "Blob");
  14. // 如果需要传id的情况下,参考下面代码
  15. //formData.append( 'id', this.id);
  16. // 配置完成后,只需要向后台传入formData 变量即可
  17. //multiple=”multiple 多文件可选
  18. // for(let i=0;i<deviceFile.length;i++){
  19. // formData.append('file', deviceFile[i]);
  20. // }
  21. let file =formData;
  22. this.loading=true
  23. //调用接口上传到后台
  24. 接口名称(file).then(res=>{
  25. if (res.data.status == 10000) {
  26. this.$message.success('success');
  27. //清空value值 解决无法上传相同名字文件的问题
  28. document.getElementById("import_btn").value = "";
  29. }
  30. }).catch((e) => {
  31. this.$message.error("excel上传失败,请重新上传");
  32. document.getElementById("import_btn").value = "";
  33. })
  34. },

后端接口

  1. let prefix = "/itam_sales"
  2. export const 接口名称 = (data) => {
  3. return axios({
  4. url: `/itam_sales/地址`,
  5. method: 'post',
  6. type: Blob,
  7. data
  8. })
  9. }

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号