Lun*_*egg 4 javascript mozilla file-upload xmlhttprequest
早期代码在所有浏览器中都运行良好.更新到新版本的Mozilla后出错了.在谷歌我发现只有一个链接 - https://bugzilla.mozilla.org/show_bug.cgi?id=796850,我不明白,如何摆脱问题.
TypeError: Cannot convert string to ByteString because the character at index 0 has value 1054 which is greater than 255.
xhr.setRequestHeader("X-File-Name", file.name);
Run Code Online (Sandbox Code Playgroud)
在这段代码中:
....
xhr.open('POST', get_page_url() + '?operation=upload_files');
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-File-Name", file.name);
xhr.send(file);
...
Run Code Online (Sandbox Code Playgroud)
在file.name正常的西里尔文件名中带有扩展名.
我解决了问题:
xhr.setRequestHeader("X-File-Name", file.name);
Run Code Online (Sandbox Code Playgroud)
替换为..
xhr.setRequestHeader("X-File-Name", unescape(encodeURIComponent(file.name)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1601 次 |
| 最近记录: |