![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 41
|
Доброе время всем
У меня такой вопрос к знаюшим Работаю над проектом раскрас мебель и закончил почти что, но у меня есть проблемы с серверной частью и АС3 Задача такая Клиент выбирает фото мебели раскрашивет его заготовленными тканями и нажимает отправить заказ и через пхп скрипт на почту отправляется фото и данные заказа. На компе поставил вамп и сендмаил. Пхп отправка информации про мебель и выбор работает на ура, но не удается превратить спрайт в битмап и аттачить как файл в письму package { import flash.display.MovieClip; import flash.display.Loader; import flash.net.URLRequest; import flash.events.*; import flash.display.Bitmap; import flash.display.BitmapData; import flash.utils.ByteArray; import flash.display.Sprite; import flash.net.FileReference; import flash.net.FileFilter; import flash.net.*; import com.adobe.images.PNGEncoder; import flash.net.URLVariables; import flash.net.URLLoader; public class ImageComposite extends MovieClip { var images:Array = ["koala.png","koala2.png"];//two images var holder:Sprite = new Sprite(); public function ImageComposite() { // constructor code addChild(holder); var thumbLoader:Loader; for (var i:uint = 0; i < images.length; i++) { thumbLoader = new Loader ; thumbLoader.load(new URLRequest(("assets/" + images[i]))); holder.addChild(thumbLoader); } //thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, bmpData); var saveButt_mc:Buttons=new Buttons(); saveButt_mc.x = 100; saveButt_mc.y = 300; saveButt_mc.addEventListener(MouseEvent.CLICK, bmpData); addChild(saveButt_mc); saveButt_mc.buttonMode = true; } //need contentLoaderInfo to access loader data; public function bmpData(evt:Event):void { var bitmapData:BitmapData = new BitmapData(holder.width,holder.height,false); bitmapData.draw(holder); var byteArray:ByteArray = PNGEncoder.encode(bitmapData); var sender:URLVariables=new URLVariables(); //trace(sender.fileData) sender.message = "Salam "; var file:FileReference = new FileReference(); //file.save(byteArray, "newImage.jpg"); //sender.fileData = byteArray; sender.fileData = byteArray.toString(); var loader:URLLoader = new URLLoader(); configureListeners(loader); var request:URLRequest = new URLRequest("http://localhost/sendMail.php"); try { loader.load(request); } catch (error:Error) { trace("Unable to load requested document."); } request.method = URLRequestMethod.POST; request.data = sender; loader.load(request); trace("Event was completed successfully!"); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { var loader:URLLoader = URLLoader(event.target); trace("completeHandler: " + loader.data); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } } } и код пхп <?php $fileData=$_POST["fileData"]; $png = imagecreatefromstring(base64_decode($fileData)); //$png = imagecreatefromstring($fileData); function mail_attachment($to, $subject, $message, $from, $file) { $content = chunk_split($file); $uid = md5(uniqid(time())); $from = str_replace(array("\r", "\n"), '', $from); // to prevent email injection $header = "From: ".$from."\r\n" ."MIME-Version: 1.0\r\n" ."Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n" ."This is a multi-part message in MIME format.\r\n" ."--".$uid."\r\n" ."Content-type:text/plain; charset=iso-8859-1\r\n" ."Content-Transfer-Encoding: 7bit\r\n\r\n" .$message."\r\n\r\n" ."--".$uid."\r\n" ."Content-Type: application/octet-stream; name=\"".$filename."\"\r\n" ."Content-Transfer-Encoding: base64\r\n" ."Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n" .$content."\r\n\r\n" ."--".$uid."--"; return mail($to, $subject, "", $header); } mail_attachment("мне_на_почту@маил.com", "заголовок", "тематика", "от_кого@gmail.com", $png); и в обоих случаях инфо не передается пхп скрипту. Заранее благодарен за ответы Добавлено через 25 часов 46 минут Доброе время всем У меня такой вопрос к знаюшим Работаю над проектом раскрас мебель и закончил почти что, но у меня есть проблемы с серверной частью и АС3 Задача такая Клиент выбирает фото мебели раскрашивет его заготовленными тканями и нажимает отправить заказ и через пхп скрипт на почту отправляется фото и данные заказа. На компе поставил вамп и сендмаил. Пхп отправка информации про мебель и выбор работает на ура, удается превратить спрайт в битмап а вот аттачить как файл в письму не удается package { import flash.display.MovieClip; import flash.display.Loader; import flash.net.URLRequest; import flash.events.*; import flash.display.Bitmap; import flash.display.BitmapData; import flash.utils.ByteArray; import flash.display.Sprite; import flash.net.FileReference; import flash.net.FileFilter; import flash.net.*; import com.adobe.images.PNGEncoder; import flash.net.URLVariables; import flash.net.URLLoader; public class ImageComposite extends MovieClip { var images:Array = ["koala.png","koala2.png"];//two images var holder:Sprite = new Sprite(); public function ImageComposite() { // constructor code addChild(holder); var thumbLoader:Loader; for (var i:uint = 0; i < images.length; i++) { thumbLoader = new Loader ; thumbLoader.load(new URLRequest(("assets/" + images[i]))); holder.addChild(thumbLoader); } //thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, bmpData); var saveButt_mc:Buttons=new Buttons(); saveButt_mc.x = 100; saveButt_mc.y = 300; saveButt_mc.addEventListener(MouseEvent.CLICK, bmpData); addChild(saveButt_mc); saveButt_mc.buttonMode = true; } //need contentLoaderInfo to access loader data; public function bmpData(evt:Event):void { var bitmapData:BitmapData = new BitmapData(holder.width,holder.height,false); bitmapData.draw(holder); var byteArray:ByteArray = PNGEncoder.encode(bitmapData); var sender:URLVariables=new URLVariables(); //trace(sender.fileData) sender.message = "Salam "; var file:FileReference = new FileReference(); //file.save(byteArray, "newImage.jpg"); //sender.fileData = byteArray; sender.fileData = byteArray.toString(); var loader:URLLoader = new URLLoader(); configureListeners(loader); var request:URLRequest = new URLRequest("http://localhost/sendMail.php"); try { loader.load(request); } catch (error:Error) { trace("Unable to load requested document."); } request.method = URLRequestMethod.POST; request.data = sender; loader.load(request); trace("Event was completed successfully!"); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { var loader:URLLoader = URLLoader(event.target); trace("completeHandler: " + loader.data); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } } }
Последний раз редактировалось turalsedirov; 13.08.2013 в 16:36. |
![]() |
Часовой пояс GMT +4, время: 20:17. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| изображение , почта , Скриншот , спрайт |
|
|