Размещать файл с одного удаленного сервера на другой - PullRequest
1 голос
/ 16 июля 2011

Я пишу расширение Google Chrome.У меня есть URL-адрес двоичного файла на удаленном сервере.Я хочу опубликовать этот файл на другом сервере.Поэтому связанная функция должна выглядеть следующим образом.

function postFileToExampleCom(fileUrl) {
    var file = ???; // Blob with data from file located at fileUrl

    var form = new FormData();
    form.append('file', file);

    var request = new XMLHttpRequest();
    request.open('POST', 'http://example.com/post/', true);
    request.send(form);
}

FormData.append () ожидает, что вторым аргументом будет объект Blob, содержащий данные файла.Каков наилучший способ получить это?Возможно, файл представляет собой изображение, которое уже загружено в активную вкладку, поэтому предпочтительно использовать кэш и не загружать этот файл снова.

UPD: я пытался загрузить файл с другим параметром XMLHttpRequest responseType = 'blob', ностранно, возвращается пустой response.

1 Ответ

0 голосов
/ 25 августа 2011

".. Возможно, файл является изображением, которое уже загружено в активную вкладку, поэтому желательно использовать кэш и не загружать этот файл снова."

  1. Если вы сохранилифайл локально (например, используя localStorage или fileAPI) - тогда вы должны убедиться, что вы читаете его и получаете файл обратно, а не сериализованную версию данных.'var file = ???'и посмотрите, какой объект вы туда доберетесь.

  2. Полезно иметь эти 3 функции для вашего «запроса»: onload, onerror и onprogress.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...