1)绑定input[type=‘file’]的change事件

<input @change="uploadPhoto($event)" type="file" class="kyc-passin">

2)利用fileReader对象获取图片或者文件的base64 编码

checkImg (size, type) {
let checkSuccess = true
// 只支持这三种格式的图片
const supportTypeList = ['image/png', 'image/jpg', 'image/jpeg']
// 图片大小不超过5M
const limitSize = 1024 * 1024 * 5 // 5M
if (!supportTypeList.includes(type)) {
this.changeErrorLayerShow(true)
this.dialogInfo = dialogDescList.formatError
checkSuccess = false
}
if (size > limitSize) {
this.changeErrorLayerShow(true)
this.dialogInfo = dialogDescList.sizeTooBig
checkSuccess = false
}
return checkSuccess
},
uploadPhoto (e, id) {
const uploadImgFiles = e.target.files
const curImgFile = uploadImgFiles[0]
const checkSuccess = this.checkImg(curImgFile.size, curImgFile.type)
if (checkSuccess) {
let reader = new FileReader()
reader.readAsDataURL(curImgFile)
reader.onload = (e) => {
this.uploadCard[id] = e.target.result // base64
}
}
// 处理连续选择相同文件,第二次选文件不会触发change事件
e.target.value = ''
}

3)再利用ajax将获取到的图片或文件的编码传给后台即可。

input如何上传文件的更多相关文章

  1. input file 上传文件

    面试的时候遇到一个问题,要求手写的方式上传文件. 本来觉得很简单,但是结果怎么也成功不了. 前台: <form ID="form1" action="AcceptF ...

  2. ajax+ashx 完美实现input file上传文件

    1.input file 样式不能满足需求 <input type="file" value="浏览" /> IE8效果图:    Firefox效 ...

  3. 使用input file上传文件中onChange事件只触发一次问题

    每次上传文件的时候,都会将当前的文件路径保存至$event.target.value中,当第二次选择文件时,由于两次$event.target.value相同,所以不会触发change事件. 解决方案 ...

  4. 在HTML5的 input:file 上传文件类型控制 遇到的问题

    1.input:file 属性的介绍  先瞅代码吧 <form> <input type="file" name="pic" accept=& ...

  5. input 原生上传文件(type = file)

    1.表单上传文件的步骤: - 1)设置enctype 默认为:enctype="application/x-www-form-urlencoded"(一般不设置) 若要表单中有需要 ...

  6. input file上传文件

    如何使用input[type='file']来上传文件呢? html: //angular<input type="file" (change)="fileChan ...

  7. 巧妙利用label标签实现input file上传文件自定义样式

    提到上传文件,一般会想到用input file属性来实现,简单便捷,一行代码即可    但input file原生提供的默认样式大多情况下都不符合需求,且在不同浏览器上呈现的样式也不尽相同   我们往 ...

  8. input 限制 上传文件类型

    参考:input file控件限制上传文件类型 HTML <input> 标签的 accept 属性 网页上添加一个input file HTML控件: <input id=&quo ...

  9. input file上传文件扩展名限制

    方法一(不推荐使用):用jS获获取扩展名进行验证: <script type="text/javascript" charset="utf-8"> ...

  10. ASP.NET MVC使用input标签上传文件

    有些时间学习了,温习一下ASP.NET MVC了.上传文档是在开发过程中,必须撑握的一个功能.以前上传均是使用第三方控件uploadify来实现,今天使使用VS标准标签input 的type=&quo ...

随机推荐

  1. kvm虚拟化安装及虚拟机创建

    1.开启虚拟化(VMware虚拟机为例),安装centos7操作系统. 2.查看CPU是否开启虚拟化 #zgrep  "vmx" /proc/cpuinfo 3.配置yum源,通过 ...

  2. Win10安装.net2.0/3.0

    Windows 安装.net2.0/3.0 将下列代码拷到本地bat文件中(bat文件和sxs文件夹同级),下载适用的.net安装包版本后放置到sxs文件夹,用管理员权限执行bat文件即可. @ech ...

  3. [译]C# 7系列,Part 10: Span<T> and universal memory management Span<T>和统一内存管理

    原文:https://blogs.msdn.microsoft.com/mazhou/2018/03/25/c-7-series-part-10-spant-and-universal-memory- ...

  4. Anroid Studio 教程干货

    常见设置 a)在Setting中,修改主题.修改工程目录的字体大小.  b)在Setting中,显示行号:  c)设置注释模板,File–>Other Setting –> Default ...

  5. 怎么解决MySQL密码问题

    mysql 如何设置远程连接 听语音 原创 | 浏览:2726 | 更新:2019-01-22 17:32 1 2 3 4 5 6 7 分步阅读 mysql默认是不允许被远程连接的,只有本地机器才能连 ...

  6. 第60届IMO 第5题

    题目   巴斯银行发行的硬币在一面上铸有H,在另一面上铸有T,哈利有枚这样的硬币并将这些硬币从左至 右排成一行,他反复地进行如下操作:如果恰有k(>0)枚硬币H面朝上,则他将从左至右的第k枚硬币 ...

  7. 高数(求x的n次方的导数)

  8. ubuntu set up 5 - VIM

    Edit ~/.vimrc source vimrc: :so ~/.vimrc 1. ctrl - left/right 切换tabs https://vim.fandom.com/wiki/Usi ...

  9. springboot+druid+mybatis plus的多数据源配置

    思路 yml中配置多个数据源信息 通过AOP切换不同数据源 配合mybatis plus使用 POM依赖 <dependency> <groupId>org.springfra ...

  10. POI导出PPT

    1.null <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <g ...