文件上传
// file用于文件上传 accept提交的文件类型
// image/* 图库里边的所有 image/gif, image/jpeg所有gif,jpeg
<input type="file" accept="image/*" >
1. type 类型为 file 的标签,可以选择一个或多个文件,通过表单上传到服务器,也可以通过 Javascript 的 File API 对文件进行操作。
2.accept 属性:可以直接打开系统文件目录。当元素的 type 属性的值是 file,该属性表明服务器端可接受的文件类型,其它文件类型会将被忽略。
如果希望用户上传指定、类型的文件, 可以使用 input 的 accept 属性。
该属性的值可以是一个,也可以说由逗号分割开的多个文件类型:
包括,以 . 开始的文件扩展名。(例如:".jpg,.png,.doc")
或者,是一个有效的 MIME 类型,可以不需要扩展名,如下:
audio/* 表示所有音频文件 HTML5(支持)
video/* 表示视频文件 HTML5(支持)
image/* 表示图片文件 HTML5(支持)
支持逗号分隔的 MIME 类型字符串,写可以写成如下的方式:
accept=“image/png” 或者 accept=".png" ,只接受 png 图片。
accept=“image/png, image/jpeg” 或者 accept=".png, .jpg, .jpeg" ,接受 PNG 和 JPEG 文件。
accept=“image/*” ,接受任何图片文件类型。
accept=".doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document" ,接受任何 MS Doc 文件类型。
accept 属性并不会验证选中文件的类型,只是为开发者提供了一种引导用户做出期望行为的方式,用户还是有办法绕过浏览器的限制。
因此,在服务器端进行文件类型验证还是很有必要的。
3.multiple(多选):
multiple 属性:当用户所在的平台允许使用 Shift 或者 Contro键时,用户可以选择多个文件。
如果不希望多选,可以直接忽略 multiple 属性。
4.capture(调用设备媒体):
capture 属性:在webapp上使用 input 的 file 属性,指定 capture 属性可以调用系统默认相机、摄像和录音功能。
capture表示,可以捕获到系统默认设备的媒体信息,如下:
capture=“camera” 相机
capture=“camcorder” 摄像机
capture=“microphone” 录音
实例:
<input type="file" accept="image/*" capture="camera">
<input type="file" accept="video/*" capture="camcorder">
<input type="file" accept="audio/*" capture="microphone">
通过 capture=“camera” 属性的拓展,可以实现相机的效果。
当支持多选时,multiple优先级高于capture