PDA

Просмотр полной версии : Загрузка во флеш картинки отдаваемой php скриптом


LokiDi L0ck
05.12.2007, 00:06
Имеется простая структура:

..
images/
image_loader.php

В папке images лежат jpg картинки, image_loader.php сканирует папку и, случайным образом выбирая картинку, выводит её в браузер. Всё прекрасно работает.

Пробую написать на as3 загрузку картинки посредством обращения URLLoader'а к image_loader.php, т.е.:


loader = new URLLoader(new URLRequest('http://test.ru/image_loader.php'));
loader.addEventListener(Event.COMPLETE, completeListener);
loader.load(request);


в методе completeListener:

var loadedImage:Bitmap = Bitmap(loader.data);
var image:Bitmap = new Bitmap(loadedImage.bitmapData.clone());
addChild(image);


Разумеется появляется ошибка и никакой картинки не загружается.
Проверяем работает ли загрузчик, в image_loader.php просто пишем echo "Test".
В completeListener: trace(loader.data) - всё нормально выводится в консоль.

Так же, если заменить в URLRequest image_loader.php на http://test.ru/images/picture01.jpg, то картинка грузится.

Значит флеш не хочет грузить картинки отдаваемые скриптом (хотя через браузер картинки нормально показываются).
Куда копать?..

etc
05.12.2007, 10:44
В сторону php скрипта и того, как именно он выдает картинку.

Rzer
05.12.2007, 11:27
Нужно помнить, что php скрипт должен быть в правильной кодировке (точно не помню, возможно UTF-8) Изменить кодировку скрипта и вообще любых документов можно например в notepad++: выделяешь всё, вырезаешь меняешь кодировку и вставляешь.

CrazyFlasher
05.12.2007, 11:30
да и в обычном notepad можно :)

LokiDi L0ck
05.12.2007, 12:06
2__etc, если вкратце, php выводит картинку следующим образом:

<?php
$image = imagecreatefromjpeg("images/picture01.jpg");

//..далее проводятся некоторые действия над картинкой
header("Content-type: image/jpeg");
imagejpeg($image);
?>

при этом, если я захожу на image_loader.php чере браузер, то картинки появляются как надо, и через File | Save As даже сохраняются как картинки. Следовательно с php скриптом проблем нет.

2Rzer, с кодировкой всё нормально. Если пишу в image_loader.php: echo "Русские буквы"; то в консоль флеша они такими и приходят. Кодировка в данном случае не причем.


[UPD] Решил проблему, не тем классом пользовался =) Надо было юзать просто Loader.
Хотя это можно провернуть и с URLLoader, но кода получится на пару строк больше.