2009-11-27 5 views
0

Я использую SWFUpload на сайте Rails, чтобы разрешить загрузку MP3 прямо в Sound Cloud. Чтобы не загружать большой файл на мой сервер и не нажимать на Sound Cloud, я запускаю их API напрямую через SWFUpload, передавая необходимые данные токена OAuth.Как обращаться с HTTPStatus Response 201 с AS3/Flash/SWFUpload

Все работает - ЗА ИСКЛЮЧЕНИЕМ - Flash не может обрабатывать код ответа HTTP, возвращаемый API Sound Cloud (201). Это ВСЕГДА запускает необработанную ошибку ввода-вывода со вспышкой. Хотя SWFUpload позволяет мне переопределить это в JS, он разбивает любые данные ответа (URI на загруженный файл).

Кто-нибудь знает, как я мог каким-то образом перехватить код 201, чтобы я смог сделать его кодом 200 для флеш-памяти? Я в недоумении, как я могу избежать этой ошибки ввода-вывода. Я пробовал заявления try/catch обо всем и даже перекомпилировал SWFUpload, чтобы попробовать новые вещи безрезультатно. Любая помощь будет принята с благодарностью.

+0

У вас есть хороший шанс, что вы ввернуты - Flash монументально плохо разговаривает с службами REST. –

+0

Вспышка плохо при вызове HTTP-вызовов? Откуда вы это узнали? – Matt

ответ

1

О том, что вы можете сделать, это захватить его через HTTPStatusEvent, а затем захватить, но игнорировать IOError, если последний HTTPStatusEvent был 201. К сожалению, вы не можете читать заголовки ответов таким образом, но вы можете сказать, что он завершен.

0

К сожалению, вы ввернуты. В Flex невозможно обрабатывать коды ответов, отличные от 200. Все остальное приводит к ошибке.

+0

Я не думаю, что это правда - на самом деле Flex и AIR SDK могут обрабатывать коды ответов. Чистая AS3 не может ... –