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

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

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию Загрузка битмапы на сервер

Пытаюсь загрузить на сервер битмапу.
Код AS3:
var image:Sprite = new Sprite();
image.x = 200;
image.y = 10;
image.graphics.beginFill(0xffc0c0);
image.graphics.drawRect(0, 0, 1000, 1000);
image.graphics.endFill();
 
var bmd:BitmapData = new BitmapData(image.width, image.height, true);
bmd.draw(image);
bmd.perlinNoise(500, 500, 5, 5, true, true);
var jpg:JPGEncoder = new JPGEncoder(50);
var ba:ByteArray = jpg.encode(bmd);
 
var fileContentType:String = 'image/jpeg';
var mpLoader:MultipartURLLoader = new MultipartURLLoader();
mpLoader.addEventListener(Event.COMPLETE, onMultiUploadComplete, false, 0, true);
mpLoader.addFile(ba, "photo.jpg", "photo", fileContentType);
mpLoader.load("http://site.com/test");
Мои трэйсы показывают, что все передано, на сервере запрос обрабатывается, но данные не поступают.
Искал и гуглом, и по форуму, находил различные варианты, но что-то попытка их применить на деле ничем хорошим не заканчивается.
Укажите на ошибки или ткните носом в работающий вариант. Заранее спасибо.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!


Последний раз редактировалось iNils; 01.10.2011 в 10:15.
Старый 01.10.2011, 00:25
stweet вне форума Посмотреть профиль Отправить личное сообщение для stweet Найти все сообщения от stweet
  № 2  
Ответить с цитированием
stweet
 
Аватар для stweet

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
Было дело, было. Я сохранял картинку самим php скриптом а передавал только "ByteArray".
В данном случае вам требуется только передать ширину и высоту картинки, ну и конечно сам байт массив.

передаем из флеша

Код AS3:
var urlVarible:URLVariables = new URLVariables();
    urlVarible.img	= myByteCode;
    urlVarible.width	= imgWidth;
    urlVarible.height	= imgHeight;
а скрипт на сервере выполняет следующее

PHP код:
<?php
    $data 
explode(","$_POST['img']);
    
    
$width $_POST['width'];
    
    
$height $_POST['height'];
    
    
$image=imagecreatetruecolor$width ,$height );
    
    
$background imagecolorallocate$image ,);
    
    
//Copy pixels
    
$i 0;
    
    for(
$x=0$x<=$width$x++)
    {
        for(
$y=0$y<=$height$y++)
        {
            
$int hexdec($data[$i++]);
        
            
$color ImageColorAllocate ($image0xFF & ($int >> 0x10), 0xFF & ($int >> 0x8), 0xFF $int);
        
            
imagesetpixel $image $x $y $color );
        }
    }
    
    
//picture.jpg - имя(можно любое)
    
    
$rr imageJPEG($image"picture.jpg"100);
    
    if(
$rr)
    {
        
//эта строка передаётся во флеш если картинка сохранена успешно
        
echo('complete!');
    }else{
        echo(
'not save!');
    }
    
imagedestroy$image );
?>
ну, если подойдет такой вариант.
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
stweet, спасибо конечно, но при использовании данного варианта картинка формируется на сервере. Хотелось бы не нагружать сервер просчетами, которые можно выполнить на клиенте.

Upd. Отпишусь тут, чтоб не поднимать тему. Проблема оказалась на серверной стороне.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!


Последний раз редактировалось TanaTiX; 03.10.2011 в 15:01.
Старый 01.10.2011, 04:07
flax4Noob вне форума Посмотреть профиль Отправить личное сообщение для flax4Noob Найти все сообщения от flax4Noob
  № 4  
Ответить с цитированием
flax4Noob
[+1 15.01.11]

Регистрация: Jan 2011
Сообщений: 70
Цитата:
Сообщение от TanaTiX Посмотреть сообщение
Пытаюсь загрузить на сервер битмапу.
Код AS3:
 
[SKIPED]
			mpLoader.load("http://site.com/test");
Мои трэйсы показывают, что все передано, на сервере запрос обрабатывается, но данные не поступают.
Если данные "улетают", то проблема может быть на стороне сервера. Например, превышение максимального размера post-запроса, или в принимающем скрипте. Попробуйте создать меленькую картинку. А в скрипте-приемнике Сдампить POST-запрос в файл со всеми заголовками. Ну и смотрите логи веб-сервера. Не зная типа сервера и языка скрипта больше посоветовать сложно. Если, конечно, от флеша уходит "хорошо". Тема разжевана на форуме весьма тщательно.

Добавлено через 5 минут
http://www.flasher.ru/forum/showpost...3&postcount=11
поиск рулит.

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

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

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


 


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


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