html5 fileapi двоичные данные - PullRequest
1 голос
/ 08 июля 2010

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

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

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

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

Приятно знать, что xhr.send (файл) работает в 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 Пожалуйста, дайте мне знать, если вы столкнулись и нашли какое-либо решение для этого.

0 голосов
/ 08 июля 2010

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

Мне просто нужно передать файл dataTransfer ...

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...