input type=file

<input type="file" />

如果想使用浏览器原生特性实现文件上传(如图片)效果,父级的form元素有个东西不能丢,就是:

enctype="multipart/form-data"

enctype属性规定在发送到服务器之前应该如何对表单数据进行编码,默认的编码是:”application/x-www-form-urlencoded“。对于普通数据是挺适用的,但是,对于文件,就不能乱编码了,该什么就是什么,只能使用multipart/form-data作为enctype属性值。

无论是旧时代的单图上传,还是HTML5中的多图上传,均是如此。

input file类型控件有一个属性,名为accept

实际开发的时候,很少只允许传jpg图片,应该都是只能传图片类型,此时,可以使用:

accept="image/*"

accept属性值其实是MIME类型, 例如下面几个可能常用的:

accept="application/pdf"
accept="audio/x-mpeg"
accept="text/html"
accept="video/x-mpeg2"

然后,多个属性值使用逗号分隔,例如:

<input accept="audio/*,video/*,image/*">
原文地址:https://www.cnblogs.com/xiaofenguo/p/6296063.html