根据RFC,在multipart/form-data的content-disposition头部中,filename字段作为HTTP quoted string参数接收 - 即在引号之间的字符串,其中字符 '\' 可以转义任何其他ascii字符。
问题在于,Web浏览器并不遵循这一规定。
IE6发送:
问题在于,Web浏览器并不遵循这一规定。
IE6发送:
Content-Disposition: form-data; name="file"; filename="z:\tmp\test.txt"
与预期不同
Content-Disposition: form-data; name="file"; filename="z:\\tmp\\test.txt"
应该按照规则解析为z:tmptest.txt
,而不是z:\tmp\test.txt
。例如Firefox、Konqueror和Chrome不会转义引号(")字符:
Content-Disposition: form-data; name="file"; filename=""test".txt"
与期望的不同
Content-Disposition: form-data; name="file"; filename="\"test\".txt"
那么...你会如何处理这个问题呢?
有人有想法吗?