Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Сохранить картинку на сервер в AS2.0 (http://www.flasher.ru/forum/showthread.php?t=103103)

IlVin 29.10.2007 18:26

Сохранить картинку на сервер в AS2.0
 
Здравствуйте, коллеги!

Случился у меня секс по поводу "заставить AS2 сохранить картинку на сервер". Решение есть, но оно какое-то кривоватое, точнее не совсем прямое...
Основная цель сохранялки - минимизировать трафик между флешкой и сервером.
Пошел "в лоб" - припомнил, что BASE64 просачиывается через стандартный urlencode и решил закодировать данные картинки в BASE64 и пост запросом передать на сервер... Выигрыш нешуточный планируется - увеличение трафика всего на 33% (вместо стандартных в 2 раза) !

Код:

// Кодируем хозяйство в BASE64
var b64s:String = new String('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-');
var b64a:Array  = b64s.split('');


var rbw:Number=resultBtp.width;
var rbh:Number=resultBtp.height;

// Запихиваем в массив ширину и высоту
var sBMP:Array = new Array();
sBMP.push( b64a[(rbw>>6)&0x3f]+b64a[(rbw&0x3f)]+b64a[(rbh>>6)&0x3f]+b64a[(rbh&0x3f)] );

for(var i=0;i<rbw;i++){
  for(var j=0;j<rbh;j++){
    var t:Number = resultBtp.getPixel32(i,j) & 0x00FFFFFF;
    sBMP.push( b64a[(t>>18)&0x3f]+b64a[(t>>12)&0x3f]+b64a[(t>>6)&0x3f]+b64a[t&0x3f] );
  }
}

...

outData.data = "<pic>"+sBMP.join('')+"</pic>";
outData.sendAndLoad(_root.scripts.imgsaver,inData,"POST");

Запускаем, смотрим и обламываемся :(
Символы '*-' не проходят флешовый urlencoder (а когда сохраняется белое, получаются толпы этих символов :eek: ).

Внимание вопрос:
Как в AS2 отправить POST запрос и сделать так, чтобы параметры не urlencod'ились ?

С превеликим нетерпением жду решения или ваших соображений по этой шишковатой теме.
:umnik2:

NikolyA 29.10.2007 22:01

подобная тема уже как-то поднималась, и рассматривались сохранения также, а вообще, лучше все же использовать php для сохранения картинки на сервер, вроде и траффика затрачивает немного, будет желание подкину линков для решения своей проблемы, если решения не найдешь

crazyone 07.11.2007 11:35

Подожди, что значит - не проходят? Экранятся?
Ну попробуй заменить эти символы на что-либо на клиентской стороне, а потом обратно на серверной.
Думается мне - урленкод не обойти - иначе не получится данные передать, специфика хттп запросов и все такое...

olexandr 07.11.2007 13:47

я недавно делал проект, в котором обрабатывал картинку попиксельно и передавал данные на сервер, где они слаживались пхп-скриптом в jpg-файл

если надо, пиши в аську 375965515 - поделюсь исходником

Poohorik 14.11.2007 22:20

http://www.actionscripts.org/forums/...d.php3?t=90159


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

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