一、浏览器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