Open SugarFatFree opened 6 hours ago
HTTP RFC规范要求Header中必须是ASCII字符,其他的字符要用URI编码。其他工具则不存在此现象,应该是没有遵循RFC规范。
后端收到文件时,文件名建议先调用URI解码下。
后端收到文件时,文件名建议先调用URI解码下。
这个“后端”并不一定可以由我进行控制,能否增加一个配置项进行控制是否进行URL编码呢?
HTTP RFC规范要求Header中必须是ASCII字符,其他的字符要用URI编码。其他工具则不存在此现象,应该是没有遵循RFC规范。
这个规范是只针对header吧,上传文件的文件名并不是存在header中的啊,我记得是放在body里面的吧
这个规范是只针对header吧,上传文件的文件名并不是存在header中的啊,我记得是放在body里面的吧
文件名就在Content-Disposition
里面,抓包看一下就知道了
这个规范是只针对header吧,上传文件的文件名并不是存在header中的啊,我记得是放在body里面的吧
文件名就在
Content-Disposition
里面,抓包看一下就知道了
下载文件的文件名才在header里面吧,上传文件是在body里面的,这个是我抓到的request header: ··· POST /agent/proxyApi/flames-docqa/doc/semantic-doc/document/files/upload HTTP/1.1 Accept: application/json, text/plain, / Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 Cache-Control: no-cache Connection: keep-alive Content-Length: 176596 Content-Type: multipart/form-data; boundary=----WebKitFormBoundarylvLZdyIcqo4mqNyD Host: 172.29.228.238:30880 Origin: http://172.29.228.238:30880 Pragma: no-cache Referer: http://172.29.228.238:30880/ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 X-Requested-With: XMLHttpRequest ···
这个规范是只针对header吧,上传文件的文件名并不是存在header中的啊,我记得是放在body里面的吧
文件名就在
Content-Disposition
里面,抓包看一下就知道了
包括你截图规范的部分,GPT回复是“响应头”而不是“请求头”,现在出现的场景是上传文件而不是下载文件
额,抱歉,我忘了。multipart/form-data
的Content-Disposition
确实应该算是body部分。
下个版本修复
API调试功能,将请求体的“数据类型”改成“multipart”后,并将参数栏的“更多操作”选择“文件”,之后参数名为“file”,参数值选择一个中文文件,“发送”请求,后端接收到的文件名将会是一个URL编码后的文件名,如果我使用其他工具则不存在此现象,请不要将中文文件名自动进行URL编码,这样会阻碍我的功能测试。