使用multipart / form-data时服务器的非ascii文件名误解

时间:2015-10-06 16:51:57

标签: post file-upload browser utf-8 url-encoding

我正在研究某些系统的定制。我无法更改服务器端代码。服务器正在等待带文件名的文件。我们的客户通常在文件名中使用西里尔字符,非ASCII字符。我的表单用于非HTML5浏览器,看起来像

<form  action='http://someurl.ru' method='post' enctype="multipart/form-data">
<input id='fid' name="file" multiple="false" type="file" />
<input id='sub' type='submit'>
</form>

所以,当提交此表单时,我会得到类似

的内容
------WebKitFormBoundaryJgbfSe4B9AXNn2jO
Content-Disposition: form-data; name="file"; filename="крейзиНеАскиЧэрактэры.txt"
Content-Type: text/plain

我的问题很简单。我怎么能强制浏览器发送文件名urlencoded或文件参数与filename * = utf-8 ... header?看起来很简单,但我已经花了好几个小时。

我在这里找到了类似的问题 UTF-8 text is garbled when form is posted as multipart/form-data 但解决方案涉及服务器更改,我无法做到。

有什么建议吗?

0 个答案:

没有答案