利用http上传文件(关于RFC1867的使用小结)
来源:百度文库 编辑:神马文学网 时间:2024/05/01 11:22:32
工作需要,给**上传文件根本不了解,一直在请求**,没做过上传的事情,原来还可以put和post上去(标准的说应该是有:PUT、WEBDAV、RFC1867,三种方法)结果人家网站用RFC1867
视频上传过程:1.post或get方法(一般post)在服务器上“注册”一个位置,通过返回信息sessionid videoid 。。。。进一步的上传文件;2.通过http的rfc1867这个协议,此协议在http上扩充了一个MIME体,相当于在content部分又封装了一个包。。。通过由1,获取到的信息,组成一个request包(通常有cookie),post或者put到web server上,包结构大概如下:
POST /asfdasdf HTTP1.1\r\nHOST: asdfasdf\r\n.....Content-Type: multipart/form-data; boundary="boundary_text"\r\nContent-Length: 123456\r\n
\r\n--boundary_text\r\nContent-Disposition:form-data;........\r\n\r\ncontent1.......\r\n--boundary_text\r\nContent-Disposition:form-data;........\r\n\r\ncontent2........\r\n--boundary_text\r\nContent-Disposition:form-data;........\r\n\r\nlastcontent....\r\n--boundary_text--\r\n
其中,MIME体的content-desposition部分的属性有很多,其他的不了解。
3.cs程序编写用过webclient、httprequest,都有缺陷,最后自己用socket写了一个组发收包的方法,用着还好。
webclient的缺陷是,它能上传,但有一个100s的超时,没法改,比较杯具(网上有些改法,没用过,不知好不好用);
httprequest:不算缺憾吧,httprequest的协议版本(rfc2616)对有些网站支持不好(rfc2068),据说rfc2616的方式是把data发完,等待server返回http 100,才把data真正发完。而rfc2068不等,直接发完回家。所以用httprequest的结果是,本来看似文件已经发完,却阻塞在getResponse()上,知道超时。http://bytes.com/topic/c-sharp/answers/228437-httpwebresponses-getresponse-hangs-timeouts
mark
视频上传过程:1.post或get方法(一般post)在服务器上“注册”一个位置,通过返回信息sessionid videoid 。。。。进一步的上传文件;2.通过http的rfc1867这个协议,此协议在http上扩充了一个MIME体,相当于在content部分又封装了一个包。。。通过由1,获取到的信息,组成一个request包(通常有cookie),post或者put到web server上,包结构大概如下:
POST /asfdasdf HTTP1.1\r\nHOST: asdfasdf\r\n.....Content-Type: multipart/form-data; boundary="boundary_text"\r\nContent-Length: 123456\r\n
\r\n--boundary_text\r\nContent-Disposition:form-data;........\r\n\r\ncontent1.......\r\n--boundary_text\r\nContent-Disposition:form-data;........\r\n\r\ncontent2........\r\n--boundary_text\r\nContent-Disposition:form-data;........\r\n\r\nlastcontent....\r\n--boundary_text--\r\n
其中,MIME体的content-desposition部分的属性有很多,其他的不了解。
3.cs程序编写用过webclient、httprequest,都有缺陷,最后自己用socket写了一个组发收包的方法,用着还好。
webclient的缺陷是,它能上传,但有一个100s的超时,没法改,比较杯具(网上有些改法,没用过,不知好不好用);
httprequest:不算缺憾吧,httprequest的协议版本(rfc2616)对有些网站支持不好(rfc2068),据说rfc2616的方式是把data发完,等待server返回http 100,才把data真正发完。而rfc2068不等,直接发完回家。所以用httprequest的结果是,本来看似文件已经发完,却阻塞在getResponse()上,知道超时。http://bytes.com/topic/c-sharp/answers/228437-httpwebresponses-getresponse-hangs-timeouts
mark
利用http上传文件(关于RFC1867的使用小结)
利用MultipartFile实现文件上传
struts2学习笔记(十) 利用fileUpload实现文件的上传
struts2学习笔记(十) 利用fileUpload实现文件的上传
struts2学习笔记(10) 利用fileUpload实现文件的上传
关于httpclient中MultipartPostMethod类上传文件的一点感受
使用FileUpload控件做文件上传
使用FileUpload控件做文件上传
使用ASP实现文件上载(上传)的各种方法 | ASP文章中心 | ASP | SQL SERVER | XMLHTTP | ACCESS | PhpUp Studio
关于MAP文件的使用(转贴
利用Jakarta commons fileupload组件实现多文件上传
利用Jakarta commons fileupload组件实现多文件上传
使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传 -...
使用IIS7.0的asp上传大文件时出现如下错误:
上传文件
文件上传
文件上传
DB2使用小结(转载)
使用PuTTY上传文件 - xzknet - JavaEye技术网站
ASP.net中上传文件的操作
ASP.net中上传文件的操作
我的信用卡使用体会小结
我的信用卡使用体会小结
上传图片使用的函数方法