Показать сообщение отдельно
  #1 (permalink)  
Старый 14.01.2013, 19:09
Новичок на форуме
Отправить личное сообщение для RazDroid Посмотреть профиль Найти все сообщения от RazDroid
 
Регистрация: 14.01.2013
Сообщений: 2

Загрузка видео на Youtube с помощью XHR2
Я хочу загрузить видео на свой канал на Youtube, используя их API.

Через запрос на свой сервер получаю токен для загрузки, а потом хочу загрузить видео с отображением процентов c помощью XHR2.

Кросс-доменная загрузка работает, т.к YT поддерживает CORS.

element = document.forms.uploadNewVideoForm.file;

        var fd = new FormData();
        console.log(element.files);
        fd.append('token', $scope.uploadData.token);
        fd.append('file', element.files[0]);

        var xhr = new XMLHttpRequest();
        xhr.upload.addEventListener("progress", $scope.uploadProgress, false);
        xhr.addEventListener("load", $scope.uploadComplete, false);
        xhr.addEventListener("error", $scope.uploadComplete, false);
        xhr.addEventListener("abort", $scope.uploadComplete, false);
        xhr.open("POST", $scope.uploadData.uploadUrl + '?nexturl=' + encodeURIComponent('http://local.app.com:8000/OK'));

        xhr.onreadystatechange = function ( response ) {};
        xhr.send(fd);


Но после успешной(!) загрузки Youtube перенаправляет пользователя на страницу http://local.app.com:8000/OK,

Код:
    POST http://uploads.gdata.youtube.com/action/FormDataUpload/<токен>?nexturl=http%3A%2F%2Flocal.app.com%3A8000%2FOK

    302 Moved Temporarily 
    Location: http://local.app.com:8000/OK
И вот здесь запрос вылетает с ошибкой, и нигде нет даже ссылки на перенаправляемый URL. Мне сам редирект не нужен, а только этот URL.

Вопрос заключается в том, можно ли получить значение URL, на который перенаправляют, или корректно заставить XHR2 обрабатывать редирект?
Ответить с цитированием