Показать сообщение отдельно
Старый 06.11.2013, 20:51
scnippers вне форума Посмотреть профиль Отправить личное сообщение для scnippers Найти все сообщения от scnippers
  № 1  
Ответить с цитированием
scnippers
 
Аватар для scnippers

Регистрация: Jul 2013
Сообщений: 21
Smile Не открывается PNG отправленный на сервер.

Почему когда я BitmapData загоняю в PNGEncoder а затем отправляю на сервер и сохраняю в файл, я этот файл не могу открыть так как он поврежден или слишком велик.
Вот код отправки из флеша:
Код AS3:
var data_bmp:BitmapData = new BitmapData(container.width,container.height);
 
     		    data_bmp.draw(container);
				names.text = "Begin Encode";
        		var png_image_data:ByteArray = PNGEncoder.encode(data_bmp);
				var ld:URLLoader = new URLLoader();
				var url_req:URLRequest = new URLRequest(host);
 
				url_req.method = URLRequestMethod.POST;
				var variables:URLVariables = new URLVariables();
				var base64EncodedImg:String = Base64.encode(String(png_image_data));
				variables.file = base64EncodedImg;
				url_req.data = variables;
				ld.load(url_req);
а вот серверная часть:
PHP код:
<?php
$imageContent 
base64_decode($_POST['file']);
file_put_contents('image.png'$imageContent);
?>
все вроде нормально сохраняет, но почему файл нельзя открыть? С чем это связанно?
Png файл я открывал блокнотом структура вроде нормальная .

Да и еще один момент почему длина переменной png_image_data до кодировки base64 равна 136614, а после раскадировки на сервере равна 194367 wtf? откуда лишние байты?


Последний раз редактировалось scnippers; 06.11.2013 в 21:17.