【发布时间】:2021-04-27 18:09:36
【问题描述】:
我尝试在服务器端区分上传空文件和未上传文件
空文件的POST正文内容为:
------WebKitFormBoundaryAYxCGhPMYcmdkdlv
Content-Disposition: form-data; name="_1"
dd
------WebKitFormBoundaryAYxCGhPMYcmdkdlv
Content-Disposition: form-data; name="_2"; filename="foo"
Content-Type: application/octet-stream
------WebKitFormBoundaryAYxCGhPMYcmdkdlv
Content-Disposition: form-data; name="_3"
Upload
------WebKitFormBoundaryAYxCGhPMYcmdkdlv--
虽然丢失的文件是
------WebKitFormBoundaryMldAHhbBqWpKPlRY
Content-Disposition: form-data; name="_1"
dd
------WebKitFormBoundaryMldAHhbBqWpKPlRY
Content-Disposition: form-data; name="_2"; filename=""
Content-Type: application/octet-stream
------WebKitFormBoundaryMldAHhbBqWpKPlRY
Content-Disposition: form-data; name="_3"
Upload
------WebKitFormBoundaryMldAHhbBqWpKPlRY--
唯一的区别是filename= 内容一个是空的,另一个包含文件名(Firefox 和 Chromium 的行为相同)
问题:
- 是否存在浏览器不提供
filename(安全或类似的东西)的条件? - 区分空文件和非设置文件是否真正有效/标准的方法,请提供参考。
-
Content-Type: application/octet-stream是标准响应,未上传文件时设置?
我希望看到一些可以证实或反驳我的观察的标准参考
【问题讨论】:
标签: http file-upload multipartform-data