http上传文件,http实体部分是要写全整个文件的二进制吗?
http上传的时候,首部用的Content-Type是multipart/form-data;
下面是一个例子,我假设向一个服务发送上传文件请求:
POST/logsys/home/uploadIspeedLog!doDefault.html HTTP/1.1
Accept: text/plain, */*
Accept-Language: zh-cn
Host: 192.168.24.56
Content-Type:multipart/form-data;boundary=-----------------------------7db372eb000e2
User-Agent: WinHttpClient
Content-Length: 3693
Connection: Keep-Alive
-------------------------------7db372eb000e2
Content-Disposition: form-data; name="file"; filename="kn.jpg"
Content-Type: image/jpeg
(此处省略jpg文件二进制数据,我可能很大,比如500M的图片...)
-------------------------------7db372eb000e2--
我的问题:
二进制数据部分(已标红),是一次先把文件读取完再上传吗?如果是一个很大的文件比如:500M
,是不是读很长时间,组成一个超大的http请求体,再向服务器发送。还是另一种方式:读一
部分比如:1M,就向服务器发送,接着再读再发,保证服务器的接收流不断。
下面是一个例子,我假设向一个服务发送上传文件请求:
POST/logsys/home/uploadIspeedLog!doDefault.html HTTP/1.1
Accept: text/plain, */*
Accept-Language: zh-cn
Host: 192.168.24.56
Content-Type:multipart/form-data;boundary=-----------------------------7db372eb000e2
User-Agent: WinHttpClient
Content-Length: 3693
Connection: Keep-Alive
-------------------------------7db372eb000e2
Content-Disposition: form-data; name="file"; filename="kn.jpg"
Content-Type: image/jpeg
(此处省略jpg文件二进制数据,我可能很大,比如500M的图片...)
-------------------------------7db372eb000e2--
我的问题:
二进制数据部分(已标红),是一次先把文件读取完再上传吗?如果是一个很大的文件比如:500M
,是不是读很长时间,组成一个超大的http请求体,再向服务器发送。还是另一种方式:读一
部分比如:1M,就向服务器发送,接着再读再发,保证服务器的接收流不断。
...全文
相关推荐
http post方式上传文件(C#)
1.稍微修改可以实现自动上传文件 2.上传文件不受大小限制 3。文件上传过程中可以显示当前上传进度,当前平均上传速度、上传文件已花费时长 上传文件大小和总的文件大小百分比 4。保证文件的稳定传输
使用HTTP上传文件到WEB服务器
最近很多人向我HTTP上传文件到WEB上,我就放在网络上共享,我比较忙,没空一个一个发,现上传上来了
C#通过winform和http上传文件
C#通过winform和http上传文件C#通过winform和http上传文件C#通过winform和http上传文件C#通过winform和http上传文件C#通过winform和http上传文件
http下载和上传文件 c++ 封装类
用c++ 封装的 CHttpClient 类 能够实现http文件上传和下载
C# WEB/HTTP大文件与文件夹上传
这是我个人用C#写的一个通过WEB/HTTP上传超大文件或整个文件夹程序,最初是为了某项目写的一段程序。但这个项目的上传功能最终没有落实这个需求,所以也没在进一步做下去了,但整个超大文件和文件夹的上传功能程序是完成了的。我测试过最大超过4G的文件都可以上传,文件夹为无限级文件上传的。


Web 开发
