<input> type 类型为 file 时使得用户可以选择一个或多个元素以提交表单的方式上传到服务器上,或者通过 Javascript 的 File API 对文件进行操作 .

常用input属性:

  accept:指示file类型,没有时表示不限制类型,填入格式后选择文件时只能看见被允许的文件

      accept="image/png" 或 accept=".png" 表示只接受 png 图片.

      accept="image/png, image/jpeg" 或 accept=".png, .jpg, .jpeg" 表示接受 PNG/JPEG 文件.

      accept="image/*" 接受任何图片文件类型. audio/* 表示音频文件video/* 表示视频文件

      accept=".doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"  接受任何 MS Doc 文件类型.

      accept 属性并不会验证选中文件的类型. 他只是为开发者提供了一种引导用户做出期望行为的方式而已, 用户还是有办法绕过浏览器的限制.

      因此, 在服务器端进行文件类型验证是必不可少的.

  multiple:Boolean ,指示用户能否多个输入,type为email或file时生效

  required:指定用户在提交表单之前必须保证该元素值不为空。当 type 属性是 hidden,image 或者按钮类型(submit,reset,button)时不可使用。

       :optional 和 :required CSS 伪元素的样式将可以被该字段应用作外观。

事件:

  change事件

示例

样式更改:可以通过设置opcitity:0;font-size:0进行覆盖操作

<template>
<div>
<!-- 上传处触发change事件 -->
<input type="file" id="upload" multiple @change="upload"></input>
</div>
</template> <script>
export default {
methods: {
upload(e) {
// 获取文件信息
// let files=document.getElementById('upload').files
// let file = e.target.files[0] // 每个 file 对象包含了下列信息:
// name: 文件名.
// lastModified: UNIX timestamp 形式的最后修改时间.
// lastModifiedDate: Date 形式的最后修改时间.
// size: 文件的字节大小.
// type: 文件类型. // 转化为base64
let reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function (res) {
let base = res.target.result
} // 获取/限制图片尺寸
let myimg = URL.createObjectURL(file);
let img = new Image();
img.src = myimg;
img.onload = function () {
if (img.width !== 860 && img.height !== 450) {
alert("只能上传860*450px的图片!");
} else {
// 操作……
// 还可以根据file.type判断类型,根据file.size限制判断字节
const formdata = new FormData()
formdata.append('file', file)
// 调接口,data为formdata
}
}
}
}
};
</script>

<input type="file">文件上传的更多相关文章

  1. 文件上传<springmvc>

    使用commons-fileupload-1.3.1.jar和commons-io-2.4.jar web.xml <?xml version="1.0" encoding= ...

  2. SpringMvc入门五----文件上传

      知识点: SpringMvc单文件上传 SpringMvc多文件上传   这里我直接演示多文件上传,单文件的上传就不说了,不过代码都是现成的. 效果预览:   DEMO图:     添加文件上传j ...

  3. SpringMVC:学习笔记(8)——文件上传

    SpringMVC--文件上传 说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. ...

  4. SpringMVC国际化与文件上传

    点击阅读上一章 其实SpringMVC中的页面国际化与上一章的验证国际化基本一致. 1.对页面进行国际化 1)首先我们对Spring配置文件中添加国际化bean配置 <!-- 注册国际化信息,必 ...

  5. SSM框架之SpringMVC(5)文件上传

    SpringMVC(5)文件上传 1.实现文件上传的前期准备 1.1.文件上传的必要前提 A form 表单的 enctype 取值必须是: multipart/form-data(默认值是:appl ...

  6. springmvc 文件上传实现(不是服务器的)

    1.spring使用了apache-commons下的上传组件,因此,我们需要引用2个jar包 1)apache-commons-fileupload.jar 2 ) apache-commons-i ...

  7. SpringMVC文件上传和下载

    上传与下载 1文件上传 1.1加入jar包 文件上传需要依赖的jar包 1.2配置部件解析器 解析二进制流数据. <?xml version="1.0" encoding=& ...

  8. springMVC文件上传

    参考的地址:http://www.tuicool.com/articles/nMVjaiF 1.需要使用的jar. commons-fileupload.jar与commons-io-1.4.jar二 ...

  9. springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传

    总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...

  10. SpringMVC文件上传注意事项

    简介 我在使用 idea 上传文件时遇到一些问题,费了好些时间,最后还是的队友来帮忙. 问题出现在没有熟练使用 IDE,采用 SpringMVC 上传文件主要注意几个事项. 1. 配置 bean 在 ...

随机推荐

  1. JS-重写内置的call、apply、bind

    首先看call和apply,第一个参数就是改变的this指向,写谁就是谁,如果是非严格模式下,传递null或undefined指向的也是window,二者唯一的区别是执行函数时,传递的参数方式不同,c ...

  2. 分享8个laravel模型时间戳使用技巧

    默认情况下,Laravel Eloquent 模型默认数据表有 created_at 和 updated_at 两个字段.当 然,我们可以做很多自定义配置,实现很多有趣的功能.下面举例说明. 1. 禁 ...

  3. textarea输入文字限制个数

    说明: w-count固定为数字部分的class textarea-active为超出最大输入文字个数报错信息的class html 部分: <div class="wrap wrap ...

  4. springboot专用的注解

    这些是springboot特有的,常见的条件依赖注解有: @ConditionalOnBean,仅在当前上下文中存在某个bean时,才会实例化这个Bean. @ConditionalOnClass,某 ...

  5. 解决 Windows 编译 Fast R-CNN 的 bbox 和 nms 出现的错误 error: Unable to find vcvarsall.bat

    在 Windows 下安装一个底层的 Python 包时(Fast R-CNN 的 bbox 和 nms),遇到 error: Unable to find vcvarsall.bat 错误,看到这个 ...

  6. 分库分表技术演进&最佳实践

    每个优秀的程序员和架构师都应该掌握分库分表,这是我的观点. 移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 订单表 交易流水表 以支付宝用户为例,8亿:微信用户更是10亿.订单表更夸张, ...

  7. 【46】谷歌 Inception 网络简介Inception(2)

    Inception 网络(Inception network) 在上节笔记中,你已经见到了所有的Inception网络基础模块.在本节笔记中,我们将学习如何将这些模块组合起来,构筑你自己的Incept ...

  8. <a>超链接标签,<button>按钮标签,实现返回跳转

    超链接: <a href=”#” onClick=”javascript :history.back(-1);”>返回上一页</a> <a href=”#” onClic ...

  9. [大数据技术]Kettle初次连接MySQL数据库 报错问题 错误连接数据库 Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver

    报错内容如下: 错误连接数据库 [foodmartconn] : org.pentaho.di.core.exception.KettleDatabaseException: Error occure ...

  10. Java商城秒杀系统的设计与实战视频教程(SpringBoot版)

    课程目标掌握如何基于Spring Boot构建秒杀系统或者高并发业务系统,以及构建系统时采用的前后端技术栈适用人群Spring Boot实战者,微服务或分布式系统架构实战者,秒杀系统和高并发实战者,中 ...