wil*_*ton 13 http multipartform-data content-length http-headers
所以,我正在上传一个文件,然后下载它......但是上传标题中的Content-Length与文件大小不匹配.我猜这个计算和传输涉及到其他一些数据,但具体到底是什么?如何从Content-Length获得准确的文件大小?它甚至可能吗?
我知道有边界,也许还有其他一些东西,但检查一下:
5380216 - 5379906 = 310
"----WebKitFormBoundaryeoFyqD4zr6smwYDG".size
? 38
Run Code Online (Sandbox Code Playgroud)
所以边界大小是38 ... 310有一些5,10,31的LCD ...那些不管怎么用38以任何方式......我迷路了!
文件大小:
-rw-r--r--@ 1 williamcotton staff 5379906 Jul 2 12:02 testfile-downloaded.zip
-rw-r--r--@ 1 williamcotton staff 5379906 Jun 8 14:23 testfile-uploaded.zip
Run Code Online (Sandbox Code Playgroud)
HTTP标头
{
host: 'localhost:8887',
connection: 'keep-alive',
'content-length': '5380217',
'cache-control': 'max-age=0',
origin: 'http://localhost:8887',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1193.0 Safari/537.1',
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryeoFyqD4zr6smwYDG',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
referer: 'http://localhost:8887/',
'accept-encoding': 'gzip,deflate,sdch',
'accept-language': 'en-US,en;q=0.8',
'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
}
Run Code Online (Sandbox Code Playgroud)
TL;博士
文件大小为5379906
Content-Length报告为5380216
为什么?
我认为multipart/form-data请求的每个部分都计入主Content-Length头的整体大小.
发现这是一个参考:http: //chxo.com/be2/20050724_93bf.html
所以,也许在您的标题之后,您可能会:
----WebKitFormBoundaryeoFyqD4zr6smwYDG
Content-Disposition: form-data; name="file"; filename="testfile-downloaded.zip"; size=<file size could be here>
Content-Length: <file size could also be here>
<some other content headers>
<file data>
----WebKitFormBoundaryeoFyqD4zr6smwYDG
Run Code Online (Sandbox Code Playgroud)
所有这些都将计入内容长度大小.
编辑
刚刚意识到我没有回答你的问题.不确定如何从请求的文件部分提取文件大小.抱歉!
归档时间: |
|
查看次数: |
14084 次 |
最近记录: |