Я пытаюсь написать расширение Safari, чтобы захватить PDF-документ, который пользователь открыл, и затем отправить его на другой сайт через POST.
Я сделал эту работу в Chrome, но копирование того же метода не работает, потому что Safari не работает с BlobBuilder
.
Вот что работает в Chrome:
var xhr = new XMLHttpRequest();
xhr.open("GET", tab.url, true);
xhr.responseType = "arraybuffer";
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var bb = new BlobBuilder();
bb.append(this.response);
var blob = bb.getBlob('application/pdf');
var http = new XMLHttpRequest();
http.open("POST", send_url, true);
var formData = new FormData();
formData.append("src", blob);
http.send(formData);
}
В результате POST обращается к моему PHP-скрипту, а в его массиве $ _FILES - мой файл.Отлично.
Но абсолютно ничего, что я пробую, похоже, не работает с Safari.Я пытался начать с responseType='blob'
, но это не сработало.Я не могу заставить ни один из файловых объектов Safari JS работать с этими данными.Я попытался изменить его на массив Uint8, но данные не были отправлены, только строка, в которой говорилось: "[object UInt8Array]"
Есть идеи?
Приветствия!Tony