Сохраните изображение из Flash, отправьте его на PHP и верните URL-строку во Flash

Я использую этот код для преобразования изображения в BitmapData и хранения JPG в ByteArray.

import com.adobe.images.JPGEncoder; var jpgSource:BitmapData = new BitmapData (img_mc.width, img_mc.height); jpgSource.draw(img_mc); var jpgEncoder:JPGEncoder = new JPGEncoder(85); var jpgStream:ByteArray = jpgEncoder.encode(jpgSource); // here we need some code to send the bytearray but I lack enough knowledge to do it by myself 

Теперь я хочу сделать следующее: 1. отправить ByteArray на PHP; 2. PHP должен хранить физический image_id.jpg на сервере; 3. Затем PHP должен вернуть URL-адрес изображения во Flash;

Это возможно? Как?

Первыми строками PHP могут быть:

 if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) { // get bytearray $jpg = $GLOBALS["HTTP_RAW_POST_DATA"]; // but I don't know how to save the image on disk and how to return the URL of the //image } 

Благодаря!

часть as3:

 import com.adobe.images.JPGEncoder; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequestHeader; import flash.net.URLRequest; 

import com.adobe.images.JPGEncoder; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequestHeader; import flash.net.URLRequest;

var jpgSource: BitmapData = new BitmapData (img_mc.width, img_mc.height);
jpgSource.draw (img_mc);
var jpgEncoder: JPGEncoder = новый JPGEncoder (85);
var jpgStream: ByteArray = jpgEncoder.encode (jpgSource);

// задаем заголовок, метод и данные запроса
var header: URLRequestHeader = new URLRequestHeader («Content-type», «application / octet-stream»);
var loader: URLLoader = new URLLoader ();
// отправляет jpg байты в скрипт saveJPG.php
var myRequest: URLRequest = новый URLRequest ("saveJPG.php");
myRequest.requestHeaders.push (заголовок);
myRequest.method = URLRequestMethod.POST;
myRequest.data = jpgStream;
Loader.load (myRequest);
// fire complete event;
loader.addEventListener (Event.COMPLETE, сохранены);
функция сохранена (e: Событие)
{
// отслеживаем имя файла изображения
следа (loader.data);
}

часть php (saveJPG.php):

 if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) { 

if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {

 //the image file name $fileName = 'img.jpg'; // get the binary stream $im = $GLOBALS["HTTP_RAW_POST_DATA"]; //write it $fp = fopen($fileName, 'wb'); fwrite($fp, $im); fclose($fp); //echo the fileName; echo $fileName; 

} else echo 'result = Произошла ошибка.';