天天看点

input file文件上传(enctype)

一、浏览器post表单提交

通常的input组件表单提交时,按照form属性提交的其中enctype=”application/x-www-form-urlencoded”是默认值

<form action="RequestServlet" method="post" enctype="application/x-www-form-urlencoded">  
           

该提交方式只是提交普通表单;对于file组所选中的文件内容是不上传的,因此需要设置:enctype属性

enctype="multipart/form-data"
           

多部分提交方式,但注意编码问题:对于post方式,浏览器会对中文进行编码处理,发送字节,而普通组件的值得根据pageEncoding=”“的格式编码。但是对于文件,是会检测文件本身的编码格式进行编码。

因此在后台我么获取的字节集,是根据pageEncoding=”“+文件本身的编码格式混合的字节集,对于requset.setchar..设置编码只能解析部分正确的编码,其余会乱码

对于后台接受的内容除了文件内容,是还有其他部分的识别码:

二、input:file属性

1、上传文件–限制类型

添加accept属性

<input id="fileId1" type="file" accept="image/png,image/gif" name="file" />
           

注意:使用”* “会导致谷歌浏览器响应延迟,对IE和火狐没有影响

如需规定多个值,请使用逗号分隔。比如 :

<input accept="image/gif,image/jpg,image/png" />
           

常用:

  • 视频:video/*
  • 音频:audio/*
  • gif图片:image/gif
  • 只允许上传wav(一般用于铃声上传):.wav
  • excel文件:application/msexcel
  • word文件:application/msword
  • zip文件:application/zip
  • text文件:text/plain
  • js文件:text/javascript,application/javascript

2、multiple

多文件上传

<input id="fileId2" type="file" multiple="multiple" name="file" />
           

3、 谷歌–上传文件夹

添加属性webkitdirectory 

<input type = "file" webkitdirectory>
           

4、常用MIME类型

后缀名       MIME名称
*.3gpp    audio/3gpp, video/3gpp
*.ac3    audio/ac3
*.asf       allpication/vnd.ms-asf
*.au           audio/basic
*.css           text/css
*.csv           text/csv
*.doc    application/msword    
*.dot    application/msword    
*.dtd    application/xml-dtd    
*.dwg    image/vnd.dwg    
*.dxf      image/vnd.dxf
*.gif            image/gif    
*.htm    text/html    
*.html    text/html    
*.jp2            image/jp2    
*.jpe       image/jpeg
*.jpeg    image/jpeg
*.jpg          image/jpeg    
*.js       text/javascript, application/javascript    
*.json    application/json    
*.mp2    audio/mpeg, video/mpeg    
*.mp3    audio/mpeg    
*.mp4    audio/mp4, video/mp4    
*.mpeg    video/mpeg    
*.mpg    video/mpeg    
*.mpp    application/vnd.ms-project    
*.ogg    application/ogg, audio/ogg    
*.pdf    application/pdf    
*.png    image/png    
*.pot    application/vnd.ms-powerpoint    
*.pps    application/vnd.ms-powerpoint    
*.ppt    application/vnd.ms-powerpoint    
*.rtf            application/rtf, text/rtf    
*.svf           image/vnd.svf    
*.tif         image/tiff    
*.tiff       image/tiff    
*.txt           text/plain    
*.wdb    application/vnd.ms-works    
*.wps    application/vnd.ms-works    
*.xhtml    application/xhtml+xml    
*.xlc      application/vnd.ms-excel    
*.xlm    application/vnd.ms-excel    
*.xls           application/vnd.ms-excel    
*.xlt      application/vnd.ms-excel    
*.xlw      application/vnd.ms-excel    
*.xml    text/xml, application/xml    
*.zip            aplication/zip    
*.xlsx     application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
           

继续阅读