在后台管理系统中总是会用到上传文件的功能,

想实现的样式如下:(实现上传文件后,在input输入框显示文件名 )

结构代码如下:

 <el-form-item label="使用说明" class="uploadMain" prop="instruction"><el-inputclass="uploadInput"v-model="productVO.instruction"style="width: 75%"placeholder="请上传pdf格式的使用说明文件":disabled="true"><el-uploadslot="append"class="uploadbox"ref="upload"name="file"accept=".pdf"    //接受上传文件的格式,此处会默认打开上传时筛选.pdf格式:show-file-list="false":multiple="false"  //如果想要一次选择多个文件 mulitiple为trueaction="upload":on-change="onChange":auto-upload="false"  //自动上传,如果此处为true 选择完文件就直接上传了><!-- class="uploadbtn" --><el-button class="uploadbtn"></el-button></el-upload></el-input></el-form-item>

由于上述结构代码打开上传文件时会自动筛选accept的文件格式,但是在用户选择时仍可以自己选择全部文件,所以需要前端对上传文件进行初步的格式检验

前端部分上传文件初步检验js代码如下:

onChange(file) {// 校验格式if (['application/pdf'].indexOf(file.raw.type) == -1) {this.$message.error('请上传正确的pdf格式');return false;}this.productVO.instruction = file.name;this.productVO.instructionFile = file.raw; //上传文件时需要用到二进制,所以这里文件取值为file.raw},

上传至接口时js代码如下:

submit(){const formData = new FormData();formData.append('instruction', this.productVO.instruction);formData.append('instructionFile',this.productVO.instructionFile);//调用接口this.$post('/product/create',formData,{baseURL:'/',header:{isloading: true,'Content-Type': 'multipart/form-data'}).then()
}

此处涉及到文件的不同格式,列举一些常用的文件格式

".doc"

"application/msword"

".xls"

"application/vnd.ms-excel"

".docx"

"application/vnd.openxmlformats-officedocument.wordprocessingml.document"

".xlsx"

"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

".jpeg"

"image/jpeg"

".mp3"

"audio/x-mpeg"

".jpg"

"image/jpeg"

".mp4"

"video/mp4"

".png"

"image/png"

 ".pdf"  "application/pdf"

".ppt"

"application/vnd.ms-powerpoint"

".txt"

"text/plain"

".tar"

"application/x-tar"

".wps"

"application/vnd.ms-works"

".zip"

"application/x-zip-compressed"

".xml"

"text/plain"

附加:当上传文件为多个时,具体代码如下:

<el-form-item label="数据" class="uploadMain" prop="entity"><el-inputclass="uploadInput"v-model="productVO.entity"style="width: 75%"placeholder="请上传完整的tif/tiff/shp格式的数据文件":disabled="true"><el-uploadslot="append"class="uploadbox"ref="upload"name="file"accept=".tif,.tiff,.shp,.dbf,.prj,.sbn,.sbx,.shx":show-file-list="false"multiple:file-list="this.productVO.fileList"action="upload":on-change="onChange":auto-upload="false"><!-- class="uploadbtn" --><el-button class="uploadbtn"></el-button></el-upload></el-input><div style="color: #ffc230">此处是文本说明</div></el-form-item>

js代码如下:

onChange(file,fileList) {// 校验格式if (['image/tiff', ''].indexOf(file4.raw.type) == -1) {this.$message.error('请上传正确的tif/tiff/shp格式');return false;}else{this.productVO.fileList=fileListconsole.log(this.productVO.fileList)var listName=[]this.productVO.fileList.forEach(function(e){listName.push(e.name)})var listFileRaw=[]this.productVO.fileList.forEach(function(e){listFileRaw.push(e.raw)})this.productVO.entity = listName; //文本框显示所有的文件名this.productVO.entityFile = listFileRaw;}},

接口上传文件时formData传参改动如下:

 this.productVO.entityFile.forEach(element => {formData.append('entityFile', element)})

element-ui el-upload实现上传文件以及简单的上传文件格式验证相关推荐

  1. element UI上传图片Upload组件使用 图片转base64和fale文件处理 formdata数据格式的应用

    element UI上传图片Upload组件使用 & 图片转base64和fale文件处理 & formdata数据格式的应用 1.element UI上传图片Upload组件使用 效 ...

  2. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方 1.form的enctype="multipart/form-data" 这个是上传文件必须的 2.appl ...

  3. vue问题三:element ui的upload组件上传图片成功和移除事件

    element ui的upload组件上传图片成功和移除事件: 登录后获取到后台传的token存到中: sessionStorage.setItem("token",data.ob ...

  4. 上传文件按钮美化,上传文件前后状态控制

    我们在做input文本上传的时候,html自带的上传按钮比较丑,如何对其进行美化呢?同理:input checkbox美化,input radio美化是一个道理的. input file上传按钮的美化 ...

  5. 上传文件到华为云云服务器,怎样上传文件到云服务器上

    怎样上传文件到云服务器上 内容精选 换一换 在本地主机和Windows弹性云服务器上分别安装QQ.exe等工具进行数据传输.使用远程桌面连接mstsc方式进行数据传输.该方式不支持断点续传,可能存在传 ...

  6. java url 上传文件_Java使用HttpURLConnection上传文件(转)

    从普通Web页面上传文件很简单,只需要在form标签叫上enctype="multipart/form-data"即可,剩余工作便都交给浏览器去完成数据收集并发送Http请求.但是 ...

  7. php实现ftp上传,PHP_PHP实现ftp上传文件示例,FTP上传是PHP实现的一个常见且 - phpStudy...

    PHP实现ftp上传文件示例 FTP上传是PHP实现的一个常见且非常重要的应用技巧,今天就来与大家分享一下PHP实现FTP上传文件的简单示例.希望对大家的PHP学习能带来一定的帮助. 主要代码如下: ...

  8. 爬虫之上传文件,request如何上传文件

    爬虫之上传文件,request如何上传文件,当我们遇到需要上传文件的接口时,如何破解上传文件的密码呢? 如图,文件的参数名files[],传输多张图片,那如何用python实现呢? 1.方法1:使用r ...

  9. web上传文件到ftp服务器,web 上传文件到ftp服务器上

    web 上传文件到ftp服务器上 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分 ...

最新文章

  1. 关于 OpenIdConnect 认证启用 HTTPS 回调 RedirectUri 不生效问题
  2. SpringBoot-Security-用户权限分配-配置验证规则
  3. 【翻译】《理解收益率曲线》系列
  4. qt dll 1% 不是有效的win32应用程序
  5. github打开出错
  6. Scala中心基金会成立
  7. 室内使用酒精消毒的时候一定要注意开窗!!!
  8. yii mysql语法_yii2 + mysql 常用增删改查操作语法以及事务
  9. Jmeter笔记(5)线程组执行顺序
  10. element-ui表单验证:用户名、密码、电话、邮箱
  11. 模拟调频信号FM解调的matlab和C语言实现
  12. android版本10好不好,一加正式推送Android 10系统 流畅性怎么样
  13. 资源 ACCP-S1 BOOK3开发工具的下载
  14. 简洁的架构还能高效和准确?清华华为提出新型残差循环超分模型:RRN!
  15. (27)FPGA面试题动态时序模拟
  16. php 微信证书,【微信支付】企业付款开发者文档
  17. 04 grep正则表达式与shellscipt脚本编程
  18. 数值分析期末复习(解线性和非线性方程组)
  19. 8 下半部和推后执行的工作
  20. java教程 doc,java 基础教程.doc

热门文章

  1. C/S和B/S架构总结
  2. Editorial Board 、co-editor、ediitor、editor-in-chief的区别
  3. 程序员适当来点经济头脑
  4. 乡村振兴涉农区域全景综合安防监控解决方案
  5. 【Android显示系统初探】多屏显示Presentation的使用
  6. ElasticSearch学习总结(一)
  7. huge形式_big的最高级形式
  8. 360n4s普通版Android7,360手机N4S有几个版本 360手机N4S各版本区别对比
  9. 网站推行:外链建设需求留意什么?
  10. nodejs爬虫大作业项目