相关疑难解决方法(0)

从多部分表单上传Content-Length标头获取文件大小

所以,我正在上传一个文件,然后下载它......但是上传标题中的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

为什么?

http multipartform-data content-length http-headers

13
推荐指数
1
解决办法
1万
查看次数

通过分段表格数据上传时如何知道文件大小?

我正在使用HTML客户端执行一个简单的应用程序,该应用程序将文件上传到服务器,并且必须显示进度栏:)

服务器是基于servlet的,一些servlet接收多部分内容,对其进行解析等。显然,每时每刻我都知道到目前为止接收到的字节数。但是,为了在客户端提供进度条的信息,servlet还需要文件的字节总数,该字节正被上传。知道从哪里获取字节总数吗?

谢谢!

java servlets multipartform-data

5
推荐指数
1
解决办法
1万
查看次数