Мне нужно проверить скорость загрузки клиентской машины в AS 3.0. Поэтому я решил загрузить изображение, встроенное в swf, на сервер без взаимодействия с пользователем. У вас есть идея о том, как это сделать?Автоматическая загрузка в Action Script 3
ответ
Самый простой способ - отправить любые данные в виде двоичных файлов в почтовом запросе. Однако загрузка - это совсем другое дело, потому что она также требует ввода-вывода на стороне сервера.
Непонятно, каковы ваши варианты и/или требования к серверу на стороне. Нужно ли имитировать поведение формы HTML (т. Е. Нужно ли отправлять заголовки данных с несколькими формами?) Или вы можете просто перейти с типом контента: application/octet-stream? Это отличается тем, что сначала можно выполнить только через FileReference или потребовать, чтобы вы исправили сервер, чтобы отправлять файлы политик в ответ на конкретные запросы + реализовывать протокол HTTP самостоятельно, используя сокеты. Однако при отправке простых двоичных данных (второй вариант) проще реализовать и имеет меньше ограничений, однако вам необходимо будет управлять IO, требуемым на сервере, для сохранения загруженных данных самостоятельно.
Обратите внимание, что тестирование поведения FileReference автоматически не возможно, потому что оно требует от пользователей щелчка, и он будет отправлять данные только в ответ на события щелчка.
Привет, я нашел лучший способ сделать это без изображения. Сначала я создал массив байтов,
private var _byteArray:ByteArray = new ByteArray();
for(var i:int = 0; i < 200 * 1024;i++)
{
_byteArray.writeByte(1);
}
И отправить этот 200Кб ByteArray на сервер с помощью URLLoader и URLRequest
uploadURL = new URLRequest();
uploadURL.url = "upload.php";
uploadURL.contentType = 'application/octet-stream';
uploadURL.method = URLRequestMethod.POST;
uploadURL.data = _byteArray;
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, completeHandler);
urlLoader.load(uploadURL);
protected function completeHandler(event:Event):void
{
trace("Upload Complete");
}
- 1. Action script 3
- 2. Fullscreen in Action Script 3
- 3. Action Script 3 On Click
- 4. action script 3 Bulkloader class
- 5. Action script 3 ходьба анимации
- 6. Action Script 3: substr output
- 7. Action Script 3 Статический метод
- 8. Action Script 3 Linkage mystery
- 9. Action Script 3 тайм-тайм
- 10. action script 3 Json request
- 11. Action script 3 mute button
- 12. key_down delay action script 3
- 13. Автоматическая загрузка данных в приложении MVC 3
- 14. Как встроить шрифты в Action script 3
- 15. Action Script 3 Разрывы строк в кавычках
- 16. Добавление прослушивателя клавиш в Action Script 3
- 17. Признать звук в Action Script 3
- 18. Action Script 3 URLLoader в цикл
- 19. Перетаскивание видеороликов в Action Script 3
- 20. Как удалить объект в Action Script 3
- 21. BUTTON LABELS в Action Script 3
- 22. Что делает «для» в Action Script 3?
- 23. Action Script 3 Смена счетчика/кнопки
- 24. action script 2 против сценария действия 3
- 25. Action Script 3 - Полный экран из класса
- 26. Action Script 3. Как подсчитать время игры?
- 27. Action Script 3. Назначение видеоклипов другим видеороликам
- 28. action script 3 class & mxml file
- 29. Ссылающийся этап из класса Action Script 3
- 30. action script 3 - выпуск с массивами
Спасибо вам за ответ. Я нашел способ сделать это. –
Сначала я конвертирую встроенное изображение в массив байтов в соответствии с этим, [convert-embed-image-to-bytearray] (http://flexbuilderblog.wordpress.com/2010/01/25/convert-embed-image-to- bytearray /) И затем я отправляю этот массив байтов на сервер, в соответствии с этим (с модификацией), [upload-bitmapdata-snapshot-to-server-in-as3] (http://www.quietless.com/ кухня/upload-bitmapdata-snapshot-to-server-in-as3 /) И измерьте время, которое потребуется. –