<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/*">