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

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

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

Регистрация: Nov 2013
Сообщений: 2
По умолчанию Отправить изображение на почту

Есть конструктор на флеш. Полученный результат (по сути movieclip) нужно трансформировать в изображение (формат не имеет значения .png, .jpg все подойдет) и послать на почту вместе с другими параметрами. Я так понимаю задача достаточно стандартная и вполне возможно у кого-то есть готовая заготовка. Прилагаю собственную попытку решения проблемы, но вместо картинки приходит пустой файл. Где ошибка?

Flash
Код AS3:
import JPGEncoder;
finish.addEventListener(MouseEvent.CLICK,sendData);
function sendData(event:MouseEvent):void
{
	var bmpData:BitmapData = new BitmapData(mc.width, mc.height,false,0xFFFFFF);
	bmpData.draw(mc);
 
	var jpgEncoder:JPGEncoder = new JPGEncoder(80);
	var imgByteData:ByteArray = jpgEncoder.encode(bmpData);
 
	var sendVariables:URLVariables = new URLVariables();
	sendVariables.mail_to = "wessness@xxxxxxxxx.com";
	sendVariables.mail_from = "wes@xxxxxxxxxxx.com";
	sendVariables.sub = "Email Subject";
	sendVariables.bod = "This is the body.";
	sendVariables.image = imgByteData;
 
	trace("Encoded File to Send: " + imgByteData);
 
	var requestURL:URLRequest = new URLRequest("send.php");
	requestURL.method = URLRequestMethod.POST;
	requestURL.data = sendVariables;
 
	var loader:URLLoader= new URLLoader();
	loader.addEventListener(Event.COMPLETE, spriteSend);
	loader.addEventListener(Event.OPEN, traceEvent);
	loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, traceEvent);
	loader.addEventListener(IOErrorEvent.IO_ERROR, traceEvent);
	loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, traceEvent);
	loader.addEventListener(ProgressEvent.PROGRESS, traceEvent);
 
	try
	{
		loader.load(requestURL);
	}
	catch (e: * )
	{
		txt.text = "error";
	}
 
	function traceEvent(e:*):void
	{
		txt.text = "processing...";
	}
 
	function spriteSend(e:Event):void
	{
		txt.text = "data succesfully sent";
	}
}
PHP
Код AS3:
<?php
$img = $_POST['image'];
 
xmail($_POST['mail_to'],$_POST['mail_from'],$_POST['sub'],$_POST['bod'],imagecreatefromstring(base64_decode($img))); 
 
function xmail($email_address,$email_from,$subject,$msg,$attach_file) 
 
{     
    $mail_attached = ""; 
 
    $boundary = md5(uniqid(time())); 
 
    $mail_attached .= "--".$boundary."\r\n" 
 
    ."Content-Type: image/png; name=\"picture\"\r\n" 
 
    . "Content-Transfer-Encoding: base64\r\n" 
 
    . "Content-Disposition: attachment; filename=\"imagePic\"\r\n\r\n" 
 
    .chunk_split($attach_file)."\r\n"; 
 
    $mail_attached .= "--".$boundary." \r\n"; 
 
    $add_header ="MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"$boundary\""; 
 
    $mail_content = "--".$boundary."\r\n" 
 
    . "Content-Type: text/plain; charset=iso-8859-1; format=flowed\r\n" 
 
    . "Content-Transfer-Encoding: 8bit\r\n\r\n" 
 
    . $msg."\r\n\r\n".$mail_attached; 
 
    mail($email_address,$subject,$mail_content,"From: ".$email_from."\r\n".$add_header.""); 
} 
?>


Последний раз редактировалось uglygoose; 02.11.2013 в 17:45.
Создать новую тему   Часовой пояс GMT +4, время: 03:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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