完整代码为https://gist.github.com/992562。HTML5 File API readAsBinaryString读取文件的大小与磁盘上的文件不同
我正在使用HTML File 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);
返回大的错误数据。它有什么明显的错误吗?
这很好,非常感谢! – obrienmd 2011-05-28 15:08:00
我从来不知道FormData API!感谢:D – Ryan 2011-11-17 16:46:50