文件上传核心要通过设置表单的enctype=”multipart/form-data”(具体的请求体数据格式可以通过火狐浏览器的开发者工具看到)来告诉浏览器以二进制流的方式上传数据(而不是默认的 application/x-www-form-urlencoded)
文件下载的核心要通过设置响应的头部属性content-disposition=attachment;filename=xxx来告诉浏览器以附件的方式处理数据(而不是默认解析成html显示,超链接也可以实现下载,但是缺点是下载方式有浏览器决定)
application/x-www-form-urlencoded格式的数据:
enctype=”multipart/form-data”格式额数据:
可以采用apache的commons-fileupload去解析数据,包括得到文件名和文件内容,设置一次上传文件的大小,一次上传文件总的大小,临时文件(文件过大时,需要,因为文件是分包多次传输的),是否放入临时文件的临界文件大小,编码格式,等等。
编码:
先按照现有编码格式打散成字节,然后按照目标编码格式组装;浏览器会介绍iso8859-1格式的字节数据,然后在编码为具体页面要求的编码格式比如utf-8;
ctrl+2+L这个快捷键可自动补全代码,极大提升编码效率!
注:ctrl和2同时按完以后释放,再快速按L。
原文:http://www.cnblogs.com/wanjn/p/7636227.html