<input type="file">文件上传
<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">文件上传的更多相关文章
- 文件上传<springmvc>
使用commons-fileupload-1.3.1.jar和commons-io-2.4.jar web.xml <?xml version="1.0" encoding= ...
- SpringMvc入门五----文件上传
知识点: SpringMvc单文件上传 SpringMvc多文件上传 这里我直接演示多文件上传,单文件的上传就不说了,不过代码都是现成的. 效果预览: DEMO图: 添加文件上传j ...
- SpringMVC:学习笔记(8)——文件上传
SpringMVC--文件上传 说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. ...
- SpringMVC国际化与文件上传
点击阅读上一章 其实SpringMVC中的页面国际化与上一章的验证国际化基本一致. 1.对页面进行国际化 1)首先我们对Spring配置文件中添加国际化bean配置 <!-- 注册国际化信息,必 ...
- SSM框架之SpringMVC(5)文件上传
SpringMVC(5)文件上传 1.实现文件上传的前期准备 1.1.文件上传的必要前提 A form 表单的 enctype 取值必须是: multipart/form-data(默认值是:appl ...
- springmvc 文件上传实现(不是服务器的)
1.spring使用了apache-commons下的上传组件,因此,我们需要引用2个jar包 1)apache-commons-fileupload.jar 2 ) apache-commons-i ...
- SpringMVC文件上传和下载
上传与下载 1文件上传 1.1加入jar包 文件上传需要依赖的jar包 1.2配置部件解析器 解析二进制流数据. <?xml version="1.0" encoding=& ...
- springMVC文件上传
参考的地址:http://www.tuicool.com/articles/nMVjaiF 1.需要使用的jar. commons-fileupload.jar与commons-io-1.4.jar二 ...
- springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传
总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...
- SpringMVC文件上传注意事项
简介 我在使用 idea 上传文件时遇到一些问题,费了好些时间,最后还是的队友来帮忙. 问题出现在没有熟练使用 IDE,采用 SpringMVC 上传文件主要注意几个事项. 1. 配置 bean 在 ...
随机推荐
- c语言心形告白代码实现
c语言心形告白代码实现 1.彩色告白 include<stdio.h> include<math.h> include<windows.h> include< ...
- vue搭建手顺
1.环境准备:node.js vue-cli: $ npm install vue-cli -g 2.建立项目目录:vuedemo,并cd到该目录下 3.$ vue init webpack vu ...
- java面向对象入门(3)-java构造方法
Java构造函数是特殊的方法(没有返回类型),使您可以在应用程序内部的其他类使用对象之前完全初始化对象状态.Java中的构造方法是使用new关键字调用的.下面让我们更深入地了解构造函数. 1.什么是j ...
- 避免js重复加载的问题
避免js重复加载的问题 在日常开发中,一个页面加载另一个页面的时候,就会把另一个页面的js也会加载进来,那么如何才能避免被加载页面不再重复加载已经加载过的js呢? 先上代码 动态加载js // 加载j ...
- 记录一个解决IOS极光推送解决问题方法的网址csdn
https://blog.csdn.net/Three_Zhang/article/details/54667258
- minio gateway 代理s3 存储
以前有写过使用minio gataway 代理nas 的,实际上还可以代理s3 ,hdfs....,以下是一个gatway 带来nas 以及s3 集成的模式 环境准备 docker-compose文件 ...
- java面试必问问题总结
1. 自我介绍 2. get跟load的区别 3. 什么是重载,什么是重写 4. HashTable跟HashMap的区别 5. Jsp九大隐式对象 6. Forword和redirect 的区别 7 ...
- Object类、日期时间类、system类及StringBuilder字符串容器
一.Object类常用API 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类.Object类中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是 ...
- PTA 凑零钱(深度优先搜索)
韩梅梅喜欢满宇宙到处逛街.现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债.韩梅梅手边有 10000 枚来自各个星球的硬币,需要请你帮她盘算 ...
- H5_0021:判断平台和微信
1,跳网站: <script>eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c ...