码迷,mamicode.com
首页 > Web开发 > 详细

使用HTML的表单form上传文件,需要考虑的几个问题

时间:2014-08-08 16:17:16      阅读:557      评论:0      收藏:0      [点我收藏+]

标签:http文件上传   form表单上传文件   multipartform-data   

应用系统中经常需要有文件上传功能,一般的做法都是使用HTML的<form>和<input type="file">,或者使用第三方文件上传组件,如swfupload和uploadify。我们都知道如果向服务器提交数据,一般来说都是使用POST请求,请求数据会放在请求体中,以key1=value1&key2=value2的形式。这样的报文,服务器是很容易解析的。如果是上传文件,通过httpwatch抓包工具,我们可以发现:文件的内容也是放在post请求体中的。

 

我们知道,提交一个form的时候,可以同时上传文件和提交参数值。这就引出了一个问题:请求参数值和文件内容都是在post请求体中的,服务器必须要能识别报文中,哪些是参数值,哪些是文件内容?http协议是怎么解决这个问题的呢?可以查看rfc1867文档:Form-based File Upload in HTML。还有下面的2篇博客

http://www.cnblogs.com/chy710/archive/2010/02/22/1671007.html

http://blog.csdn.net/xiaojianpitt/article/details/6856536

很好的讲解了实现细节。如果了些报文细节,我们就可以使用HttpClient等开源组件,自行构建请求报文,实现文件上传。我们知道http请求是无状态的,连接保持时间不能太长。因此如何实现高效、健壮的文件上传,需要考虑很多细节,需要了解http协议的一些头部如ContentType,keep alive等机制。

 

实现了基本的上传功能后,一般还需要考虑大文件如何上传?如何实现断点上传?如何实现异步上传?多文件一起上传?等等。

使用HTML的表单form上传文件,需要考虑的几个问题,布布扣,bubuko.com

使用HTML的表单form上传文件,需要考虑的几个问题

标签:http文件上传   form表单上传文件   multipartform-data   

原文地址:http://blog.csdn.net/aitangyong/article/details/38437329

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!