element ui通过formdata上传文件

这篇具有很好参考价值的文章主要介绍了element ui通过formdata上传文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ElementUI的upload组件手动上传,formdata表单数据

Excerpt

使用场景:选取好excel文件后,再把导入的excel文件和参数同时提交给服务器,需要用到文件的手动上传,但是直接拷贝官网的demo会出现问题,下面会具体说明要注意的问题点。???直接上代码:index.vue<el-form ref=“importList” :rules=“ImportRules” :model=“importList” label-positio…


🐵使用场景:

选取好excel文件后,再把导入的excel文件和参数同时提交给服务器,需要用到文件的手动上传,但是直接拷贝官网的demo会出现问题,下面会具体说明要注意的问题点。
element ui通过formdata上传文件

直接上代码:

index.vue

<el-form ref="importList" :rules="ImportRules" :model="importList" label-position="left" label-width="100px"style="width:70%;margin-left:50px;"><el-form-item label="平台号:" prop="platNum"><el-input v-model="importList.platNum" clearable maxlength="50" placeholder="请输入平台号" size="mini"  style="width: 90%"/></el-form-item><el-form-item label="任务名称:" prop="taskName"><el-input v-model="importList.taskName" clearable maxlength="50" placeholder="请输入任务名称" size="mini"  style="width: 90%"/></el-form-item><el-form-item label="Excel文件:" prop="file"><el-uploadclass="upload-demo"ref="upload"multipleaccept=".xls"action="":with-credentials="true":http-request="httpRequest":on-preview="handlePreview":on-remove="handleRemove":on-change="fileChange":on-success="upFile":file-list="fileList":data="getUploadList":auto-upload="false"><el-button slot="trigger" size="small" type="primary">选取文件</el-button><div slot="tip" class="el-upload__tip" style="display: inline-block;margin-left: 20px">只能上传xls格式的 excel文件</div></el-upload></el-form-item></el-form><div slot="footer" class="dialog-footer"><el-button @click="cancelFinishPlatform">取消</el-button><el-button style="margin-left: 10px;" type="success" @click="submitUploadList">上传到服务器</el-button></div>
httpRequest(param) {console.log(param)let fileObj = param.file let fd = new FormData()  fd.append('file', fileObj)  fd.append('platNum', this.importList.platNum)  fd.append('taskName', this.importList.taskName)let url = process.env.CMS1_BASE_API + 'cdnDel/uploadExcel'let config = {headers: {'Content-Type': 'multipart/form-data'    }  }  axios.post(url, fd, config).then(res=>{if(res.code===0){this.submitForm();   }  })}

手动上传的话,action 可以不用关注咯。

:auto-upload=“false” 设置为flase ,为手动上传。

🐝upload组件注意点:

1. 选取好文件后,如何触发上传到服务器的操作呢?

我们可以使用官网提供的 submit() 方法

this.$refs.upload.submit();

但是要注意执行submit方法后,他会触发upload组件中的 http-request ,而 httpRequest 这个方法是需要你自己去定义的,实例请见上面👆的代码,亲测可用。

:http-request="httpRequest"

官网定义如下:

element ui通过formdata上传文件

2. 注意在增加文件和删除文件时,对 :file-list 上传的文件列表进行相应的增减

<el-upload:on-remove="handleRemove":on-change="fileChange":file-list="dataList":auto-upload="false"><el-button slot="trigger" size="small" type="primary">选取文件</el-button><div slot="tip" class="el-upload__tip" style="display: inline-block;margin-left: 20px">只能上传xls格式的 excel文件</div></el-upload>
fileChange(file, fileList) {this.dataList = fileList},

on-change 是文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用

3. 注意上传时,请求头要修改为 ‘multipart/form-data

我们需要创建一个 FormData 对象,以表单的形式上传参数和excel文件文章来源地址https://www.toymoban.com/news/detail-428839.html

httpRequest(param) {console.log(param)let fileObj = param.file let fd = new FormData()  fd.append('file', fileObj)  fd.append('platNum', this.importList.platNum)  fd.append('taskName', this.importList.taskName)}

4. 如果把提交函数用在http-request钩子中,fileList多长就执行请求多少次接口,依旧是无法做到只请求一次上传多文件

到了这里,关于element ui通过formdata上传文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue2+element ui 上传文件

    完全基于elementui组件封装的上传组件 ,后期继续优化 父组件使用 1、引入组件

    2024年02月04日
    浏览(53)
  • 基于element UI 实现大文件分片上传

    将文件进行切片,上传至服务器,上传完成后通知服务器进行合并 屏幕录制2022-11-11 16.40.06 测试用例 s-upload s-upload-img

    2024年02月01日
    浏览(39)
  • 基于vue+Element UI的文件上传(可拖拽上传)

    drag: 支持拖拽上传 action:必选参数,上传的地址 ref:这里主要是用于文件上传完成后清除文件的 on-remove:文件列表移除文件时的钩子 auto-upload:是否在选取文件后立即进行上传 on-change:文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用 注:这里使用的

    2023年04月08日
    浏览(46)
  • vue+element ui 实现文件上传下载

    2024年02月14日
    浏览(50)
  • element-ui上传文件 + 携带参数案例

     js逻辑代码 失败响应的数据: 成功响应的数据:     参考文章 :https://www.cnblogs.com/lvhanghmm/p/15038986.html

    2024年02月05日
    浏览(33)
  • Element-ui upload 手动上传文件

    (随手一发,可以拿过来就用,不做解释看不懂的可以照搬,👇代码可复制👇)    

    2024年02月11日
    浏览(37)
  • Element-UI的Upload 上传文件

    \\\"element-ui\\\": \\\"^2.15.9\\\" Upload 上传官方文档 2.1 自动上传 限制一次只能上传一个文件,并判断上传的文件大小及文件类型; 自动上传:即选择文件后即开始校验,校验通过后调接口上传到服务器 2.2 手动上传 限制一次只能上传一个文件,并判断上传的文件大小及文件类型; 手动上

    2024年02月11日
    浏览(37)
  • vue+element ui 文件上传之文件缩略图缩略图

    文件缩略图按官方文档说的是使用  scoped-slot  去设置缩略图模版。且需要上传的是图片,因为有预览等功能,如果上传的不是图片,会显示不出来。 这里设置了图片的格式等,用户在选择的时候,会自动校准图片格式,官方文档中提供了before-upload方法,可以防止用户在选择

    2024年02月11日
    浏览(82)
  • Element Ui 之 文件上传组件的使用 Upload

    最近正好学到了Element Ui的文件上传组件,虽然不太难但一个人琢磨还是整了很久 以下是我整理的规范性文件上传组件为例 前端 后端 此处的String dirPath = \\\"D:/files\\\"可以选取你电脑上的指定位置 接上面 如有错误,欢迎指出

    2024年02月13日
    浏览(52)
  • 使用element-ui的Upload 上传文件

    使用Upload 进行文件上传 https://element.eleme.cn/#/zh-CN/component/upload 注:当文件和一些其他数据(姓名,年龄)进行一起上传时候可分为两种过程 第一种:单独的文件上传地址,上传完文件后,后端返回该文件的地址,前端将该地址同其他数据(姓名,年龄)再次上传。 第二种:

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包