Показать сообщение отдельно
Старый 07.11.2013, 00:41
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 3  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Для сохранения картинки на сервере, я пользуюсь этим:
Код AS3:
package as3lib.net 
{
	import flash.display.DisplayObject;
	import flash.display.Sprite;
	import flash.display.BitmapData;
	import flash.utils.ByteArray;
	import as3lib.images.JPGEncoder;
	import flash.net.NetConnection;
	import flash.events.NetStatusEvent;
	import flash.net.Responder;
	import flash.events.EventDispatcher;
	import flash.events.Event;
 
	public class SavingImage extends EventDispatcher 
	{
 
		private var _netConnection: NetConnection;
 
		private var _encoder: JPGEncoder;
 
		/**
		 * Конструктор
		 * @param	image Изображение
		 * @param	gateWayURL Путь
		 */
		public function SavingImage(image: DisplayObject, gateWayURL: String) 
		{
			var bmd:BitmapData = new BitmapData(image.width, image.height);
				bmd.draw(image);
 
			_encoder = new JPGEncoder(100);
 
			var ba:ByteArray;
				ba = _encoder.encode(bmd);
				ba.compress();
 
			_netConnection = new NetConnection();
			_netConnection.connect(gateWayURL);
			_netConnection.addEventListener(NetStatusEvent.NET_STATUS, statusEvent);
			_netConnection.call('SaveImage/saveImage', new Responder( handleResult, handleError ), ba);
		}
 
		/**
		 * Функция обрабатывает результат, возвращенный от сервера после сохранения изображения  
		 * @param	data
		 */
		private function handleResult(data:Object):void 
		{
			trace(data.status);
			if (data.status == 'save_succeed') 
				dispatchEvent(new Event(Event.COMPLETE));
		}
 
		private function handleError():void 
		{
			trace('error');
		}
 
		private function statusEvent(e:NetStatusEvent):void 
		{
			trace(e.info.details);
		}
	}
}
Серверная часть:
PHP код:
<?php 

class SaveImage 

    public function 
__construct() { 
         
    } 
     
    function 
saveImage($ba) { 
        
$response = array(); 

        
$data $ba->data
         
        if(
function_exists(gzuncompress)) { 
            
$data gzuncompress($data); 
        } else { 
            
trigger_error ("gzuncompress method does not exists, please send uncompressed data"E_USER_ERROR); 
        } 
         
        if ( 
file_put_contents("rawdata.jpeg"$data) ) { 
            
$response['status'] = 'save_succeed'
        } else { 
            
$response['status'] = 'save_error'
        } 
         
        return 
$response
    } 


?>