【发布时间】:2011-09-02 06:59:48
【问题描述】:
完整代码https://gist.github.com/992562。
我正在使用 HTML 文件 API 并拖放以通过 XHR 帖子将文件上传到 PHP 脚本。从程序上看,一切似乎都正常,但是当我尝试打开上传的文件时,任何非文本文件都比源文件大得多,并且无法打开。这显然与源磁盘上的数据不同。但是,文本文件完全一样,打开就好了。
关于 3 文件拖放上传的一些示例: 文件 1:文本/XML:磁盘 13 KB,上传 13 KB,完美运行 文件 2:图像/PNG:在磁盘上 14 KB,上传 18 KB,无法打开 文件 3:应用程序/XLSX:在磁盘上 12 KB,上传 14 KB,无法打开
这一切都归结为这一点(在设置 xhr 标头后,文件对象准备就绪等):
var reader = new FileReader();
reader.onload = function(evt) {
xhr.send(evt.target.result)
}
reader.readAsBinaryString(f);
返回大而坏的数据。有什么明显的问题吗?
【问题讨论】:
标签: javascript html google-chrome file-upload