Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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 обрабатывать редирект?
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2013, 02:55
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Возможности отловить редирект к сожалению пока нет, данную возможно планируют добавить в будущих версиях спецификации http://www.w3.org/TR/2008/WD-XMLHttp...15/#notcovered
Цитата:
This specification does not include the following features which are being considered for a future version of this specification:

load event and onload attribute;
error event and onerror attribute;
progress event and onprogress attribute;
abort event and onabort attribute;
Timers have been suggested, perhaps an ontimeout attribute;
Property to disable following redirects;
responseXML for text/html documents;
Cross-site XMLHttpRequest;
responseBody to deal with byte streams;
overrideMimeType to fix up MIME types;
getRequestHeader() and removeRequestHeader().
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2013, 03:06
Новичок на форуме
Отправить личное сообщение для RazDroid Посмотреть профиль Найти все сообщения от RazDroid
 
Регистрация: 14.01.2013
Сообщений: 2

Спасибо. Тогда думаю, что можно попробовать загрузить видео через Direct Uploading API.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка страниц с помощью ajax radikal AJAX и COMET 3 29.11.2012 16:26
Lightbox налазит на видео с YouTube (хром/сафари) morrkes Элементы интерфейса 0 27.06.2012 13:26
Загрузка видео на сервер Sadist_dead AJAX и COMET 2 27.09.2011 23:17
загрузка файла на сервер с помощью MSXML2.XMLHTTP asdasd AJAX и COMET 0 15.07.2011 01:30
Загрузка файла в массив строк с помощью AJAX malcomoffice AJAX и COMET 2 08.06.2010 18:02