Javascript с загрузчиком изображений Flash (AS3), ExternalInterface.call

Flash-проект, над которым я сейчас работаю, требует, чтобы я сделал серию скриншотов сцены и загрузил эти скриншоты на сервер. Я написал код AS3, вставленный ниже, чтобы отправить скриншоты (преобразованные в jpegs) в скрипт обработки php (imageprocess.php).

for (var i:int=0; i<sourceArray.length; i++)
    {
    var jpgEncoder:JPGEncoder = new JPGEncoder(10);
    var jpgStream:ByteArray = jpgEncoder.encode(sourceArray[i]);
    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");     
    var jpgURLRequest:URLRequest = new URLRequest("imageprocess.php?name=drawing" + i +".jpg");
    jpgURLRequest.requestHeaders.push(header);
    jpgURLRequest.method = URLRequestMethod.POST;
    jpgURLRequest.data = jpgStream;
    navigateToURL(jpgURLRequest, "_blank"); //switch to ExternalInterface.call("someJS") 
    }

К сожалению, я обнаружил, что navigateToURL может функционировать только один раз за кадр (http://www.actionscript.org/forums/showthread.php3?t=250594). Похоже, мне придется использовать ExternalInterface.call плюс некоторый Javascript для загрузки нескольких скриншотов, но я не уверен, как будет выглядеть этот код Javascript. Будет ли кто-нибудь любезен предоставить пример JS, который мог бы сделать каждый из скриншотов, которые я конвертировал, и отправить их в файл php? Буду очень признателен за любые советы.

2 ответа

Решение

URLLoader может решить вашу проблему. Не используйте navatetourl для загрузки, действительно интересно. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html

Вам не нужно использовать JavaScript и т. Д. Для загрузки изображений, почему бы вам просто не создать функцию JavaScript, чтобы открыть новую ссылку в браузере (например, всплывающее окно)? Копия navigateToURL функция, но тогда в JavaScript? Полагаю, это будет более быстрое решение? Открыв окна с JavaScript, прочитайте эту ссылку.

Другие вопросы по тегам