Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 07.07.2012, 12:29
chiffa вне форума Посмотреть профиль Отправить личное сообщение для chiffa Найти все сообщения от chiffa
  № 1  
Ответить с цитированием
chiffa

Регистрация: Jul 2005
Сообщений: 57
По умолчанию Отправка содержимого картинки и сохранение на сервере

Всем добрый день. Столкнулся с такой проблемой. Нужно считать содержимое файла картинки, отправить на сервер и там сохранить в файл. делаю так:
Код AS3:
 
import mx.graphics.ImageSnapshot;
			import mx.graphics.codec.JPEGEncoder;
 
				private var imageSnapshot:ImageSnapshot
				private function inLargeImage():void
				{
					var jPEGEncoder:JPEGEncoder = new JPEGEncoder(90);
					imageSnapshot = ImageSnapshot.captureImage(load_img,500, jPEGEncoder,true);
 
 
					byteArrayToBitmapData(imageSnapshot.data);
					}
 
				private var loader : Loader = new Loader();
				private function byteArrayToBitmapData(byteArray : ByteArray):void
				{
					loader.contentLoaderInfo.addEventListener(Event.COMPLETE, getBitmapData);
					loader.loadBytes(byteArray);
					}
				private var bitmapData:BitmapData
				private function getBitmapData(e:Event):void {
					var content:* = loader.content;
					bitmapData = new BitmapData(content.width,content.height,true,0x00000000);
 
					var matrix:Matrix = new Matrix();
					bitmapData.draw(content, matrix,null,null,null,true);
					targetImage.source = new Bitmap( bitmapData );
 
					}
 
				private function saveInLargeImage() : void
				{
					if(bitmapData == null)
						{
 
							return;
							}
 
					var encoder:JPEGEncoder = new JPEGEncoder(90);
					var byteArray:ByteArray = encoder.encode(bitmapData);
					var fr : FileReference= new FileReference();
 
 
 
 
 
					base64Eec = new Base64Encoder();
 
					base64Eec.encode(String(byteArray));
					var encodedCredentials:String = base64Eec.toString();
 
					var loader:URLLoader = new URLLoader();
 
					var request:URLRequest=new URLRequest('http://******/wrt.php?rnd=' + Math.random());
					request.method=URLRequestMethod.POST;
 
					var vars:URLVariables = new URLVariables();
					vars['test']=encodedCredentials;
 
 
 
					request.data=vars;
					loader.addEventListener(Event.COMPLETE, onComplete);
					loader.load(request);
 
					function onComplete(event:Event):void {
						trace (loader.data);
 
					}
 
 
 
 
					}

и на стороне сервера:
PHP код:

$fp 
fopen("log/upl.jpg""a+");
 
$test fwrite($fp,  base64_decode($txt_in));
 if (
$test) echo '';
 else echo 
'error';
 
fclose($fp); 
Локальная картинка весит 859 кб, а на стороне сервера, после сохранения, почему то только 205 кб, соответственно не открывается...

Кто знает, подскажите: что делаю не так? Почему файл не передается полный объемом?...

Заранее спасибо!

Создать новую тему   Часовой пояс GMT +4, время: 11:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:17.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.