html5 fileapi二进制数据

html5 fileapi二进制数据,html,gmail,filereader,Html,Gmail,Filereader,您能从没有fileReader类的文件中获取二进制数据吗?我正在尝试上传文件,我已经在firefox和chrome/webkit中运行,但是safari 5没有文件阅读器 必须有一种方法来获取二进制数据,因为gmail具有在safari 5中工作的拖放功能。多亏了这里的演示,我找到了这个方法: 我只需要输入数据传输文件 var file = e.dataTransfer.files[0]; var xhr = new XMLHttpRequest(); xhr.open("POST", "u

您能从没有fileReader类的文件中获取二进制数据吗?我正在尝试上传文件,我已经在firefox和chrome/webkit中运行,但是safari 5没有文件阅读器


必须有一种方法来获取二进制数据,因为gmail具有在safari 5中工作的拖放功能。

多亏了这里的演示,我找到了这个方法:

我只需要输入数据传输文件

var file = e.dataTransfer.files[0];

var xhr = new XMLHttpRequest();

xhr.open("POST", "upload_process.php", true);

xhr.send(file); //passing in file object seems to work

我一直面临着同样的问题,但我仍然不确定xhr.send文件是否正确。在使用ASP.NET时,我发现了一个错误,即检测到潜在危险的数据。考虑到FireReader本身缺失,我认为Safari没有实现xhr.sendfile

很高兴知道xhr.sendfile在Safari中工作。我将进一步调查此事

然而,有一个更好的替代方案,它可以在大量的数据中工作

var file = e.dataTransfer.files[0];
var xhr = new XMLHttpRequest();
xhr.open("POST", "upload_process.php", true);
var fd= new FormData(); //its supported in the safari, chrome and firefox 4
fd.append(file.name, file);
xhr.send(fd); //passing in file object seems to work
还有一个问题,我现在面临的,它请让我知道,如果你已经面临,并找到任何解决办法