Двоичные данные html5 fileapi

Можно ли получить двоичные данные из файла без класса fileReader? Я пытаюсь загрузить файлы, и он работает в firefox и chrome/webkit, но в сафари 5 нет программы для чтения файлов.

Должен быть способ получить двоичные данные, поскольку в gmail есть функция перетаскивания, которая работает в Safari 5.


person Castles    schedule 08.07.2010    source источник


Ответы (2)


Я понял это благодаря демонстрации здесь: http://webreflection.blogspot.com/2009/03/safari-4-multiple-upload-with-progress.html

Мне просто нужно передать файл передачи данных...

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
person Castles    schedule 08.07.2010

Я столкнулся с той же проблемой, но я все еще не уверен в файле xhr.send. Так как при использовании ASP.NET я получил ошибку «Обнаружены потенциально опасные данные…». Я думал, что xhr.send(file) не реализован Safari, учитывая, что сам FireReader отсутствует.

Приятно знать, что xhr.send(file) работает в Safari. Я постараюсь исследовать это дальше.

Однако для этого есть лучшая альтернатива, которая отлично работает с FormData.

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

Есть еще одна проблема, с которой я сталкиваюсь прямо сейчас, это ошибка обнаружения HTML5 DataTransfer в Chrome пожалуйста, дайте мне знать, если вы столкнулись и нашли какое-либо решение для этого.

person Anil Namde    schedule 03.02.2011