![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте. Есть загрузка внешнего файла (фото) с локального компьютера во флеш на сервере. Картинка сразу появляется на сервере и загружается в папку там же. Есть второй код - форма отправки письма на почту. Хотелось бы совместить - сделать форму отправки письмана почту с загруженным фото, и еще сделать проверку загружаемого файла по расширению.
Вот код заррузки файла: //Allow this domain System.security.allowDomain("http://localhost/"); import flash.net.FileReference; // The listener object listens for FileReference events. var listener:Object = new Object(); // When the user selects a file, the onSelect() method is called, and // passed a reference to the FileReference object. listener.onSelect = function(selectedFile:FileReference):Void { //clean statusArea and details area // statusArea.text = details.text = "" // Flash is attempting to upload the image. // statusArea.text += "Attempting to upload " + selectedFile.name + "\n"; // Upload the file to the PHP script on the server. selectedFile.upload("upload.php"); }; // the file is starting to upload. listener.onOpen = function(selectedFile:FileReference):Void { statusArea.text += "Файл " + selectedFile.name + "\n"; }; //Possible file upload errors listener.onHTTPError = function(file:FileReference, httpError:Number):Void { imagePane.contentPath = "error"; imagePane.content.errorMSG.text = "HTTPError number: "+httpError +"\nFile: "+ file.name; } listener.onIOError = function(file:FileReference):Void { imagePane.contentPath = "error"; imagePane.content.errorMSG.text = "IOError: "+ file.name; } listener.onSecurityError = function(file:FileReference, errorString:String):Void { imagePane.contentPath = "error"; imagePane.content.errorMSG.text = "SecurityError: "+SecurityError+"\nFile: "+ file.name; } // the file has uploaded listener.onComplete = function(selectedFile:FileReference):Void { // Notify the user that Flash is starting to download the image. statusArea.text += "Загрузка завершена.\n"; //Show file details // details.text = "" // for(i in selectedFile) details.text +="<b>"+i+":</b> "+selectedFile[i]+"\n" // Call the custom downloadImage() function. downloadImage(selectedFile.name); }; var imageFile:FileReference = new FileReference(); imageFile.addListener(listener); uploadBtn.onPress = uploadImage; imagePane.addEventListener("Завершена", imageDownloaded); // Call the uploadImage() function, opens a file browser dialog. function uploadImage(event:Object):Void { imageFile.browse([{description: "Image Files", extension: "*.jpg;*.gif;*.png"}]); } // If the image does not download, the event object's total property // will equal -1. In that case, display am error message function imageDownloaded(event:Object):Void { if(event.total == -1) { imagePane.contentPath = "error"; } } // show uploaded image in scrollPane function downloadImage(file:Object):Void { imagePane.contentPath = "./files/files/" + file; } stop() tf_fmt = new TextFormat(); tf_fmt.color = "0xEEEEEE"; _root.createTextField("name_txt", 1, 10, 10, 300, 20); with (name_txt) { border = true; borderColor = "0xffffff"; name_txt.textColor = "0xffffff"; type = "input"; multiline = false; text = "Ваше ИМЯ"; setTextFormat(tf_fmt); } name_txt.onSetFocus = function() { this.text = ""; delete this.onSetFocus; }; _root.createTextField("mail_txt", 2, 10, 40, 300, 20); with (mail_txt) { border = true; borderColor = "0xffffff"; mail_txt.textColor = "0xffffff"; type = "input"; multiline = false; text = "Ваш e-mail"; setTextFormat(tf_fmt); } mail_txt.onSetFocus = function() { this.text = ""; delete this.onSetFocus; }; _root.createTextField("message_txt", 3, 10, 70, 300, 200); with (message_txt) { border = true; borderColor = "0xffffff"; message_txt.textColor = "0xffffff"; type = "input"; multiline = true; text = "Ваше сообщение"; setTextFormat(tf_fmt); } message_txt.onSetFocus = function() { this.text = ""; delete this.onSetFocus; }; _root.attachMovie("button", "but_mc", 4, {_x:10, _y:280}); but_mc.createTextField("tf", 1, 0, 0, 300, 20); b_fmt = new TextFormat(); b_fmt.color = "0xFFFFFF"; b_fmt.align = "center"; with (but_mc.tf) { selectable = false; text = "Send"; setTextFormat(b_fmt); } but_mc.onPress = function() { F_sendMail(name_txt.text, mail_txt.text, message_txt.text); }; F_sendMail = function (Name, Mail, Message) { _root.createEmptyMovieClip("v", 120); v.name = Name; v.mail = Mail; v.message = Message; v.loadVariables("http://www.mydomain.com/email.php", "POST"); message_txt.text = "Сообщение ОТПРАВЛЕНО"; mail_txt.text = ""; name_txt.text = ""; }; System.useCodepage = true; Последний раз редактировалось mooncar; 25.03.2013 в 13:42. |
|
|||||
|
1.Ваш код написан на AS2 - для AS2 есть отдельный раздел http://www.flasher.ru/forum/forumdisplay.php?f=93.
2. Вы по ошибки вместо тега AS3 применили тег QUOTE - циатата, поэтому код не подсвечен. ПО вопросу, для фильрации файлов по расширению вам нужно передать массив допустимых расширений в метод fileReference.browse () (которые вызывает диалоговое окно откртыия фалов) http://help.adobe.com/ru_RU/FlashPla...e.html#browse() На сайте Адоби есть примеры загрузки изображений с примерами кода на php http://help.adobe.com/ru_RU/as3/dev/...0204-7cf8.html Отправкой файла на почту уже занимается php скрипт (файл upload.php в вашем примере), а не флеш, который лишь передает ему файл, за этим вопросом лучше в тему php или на сайт php. Скажу кратко лишь, что стандартная функция php mail не поддерживает атач файлов. (так было раньше по крайней мере). ПОэтому используются движки с сокетным соедениением, либо спец библиотеки. СДовом решите вопрос с флешем ипередачей файлов и всех переменных php скрипту в том виде в каком вы хотите, а что уже будет делать с этми данными php скрип - сохранять на диск или отправлять на поучту - отдельный вопрос
__________________
... Последний раз редактировалось Александр Мостовой; 25.03.2013 в 00:45. |
|
|||||
|
Спасибо. Пользоваться интернетом и поиском я и сам умею. Мне нужна конкретная помощь. Если бы я мог сам написать на as3 все это , то не обращался бы сюда.
|
|
|||||
|
Модрон-ветеринар
|
saswww, приведенный вами код - это действительно AS2.
"Мне нужна конкретная помощь" - это понятно, в основном тут все авторы так или иначе в ней нуждаются. Очевидно, все должны догадаться, что теперь вам нужно все это на AS3 + еще что-то "совместить"? В таком случае нужно было это указать в первом сообщении. Иначе тема действительно должна быть перенесена в ветку "AS1/AS2". Только готовые решения "от и до" появляются в ответах участников лишь иногда, обычная практика - показать, что было сделано и что не получается сейчас. Это я вас просто информирую. А в сухом остатке - нужно уточнить в первом сообщении то, какой, собственно, помощи вы ждете от участников форума.
__________________
Идите первым! Последний раз редактировалось mooncar; 25.03.2013 в 13:59. |
|
|||||
|
Ну если здесь вместо помощи нужен только дизайн форума и демагогия.... Спасибо что помогли, пойду на другие форумы...
|
|
|||||
|
Цитата:
Цитата:
2. В приведенной ссылке 80% решения вороса. http://help.adobe.com/ru_RU/as3/dev/...0204-7cf8.html К примеру от адоби нужно просто добавить пару полей. Если вы этот пример видели, то не понятно чем он не подходит. 3. У вас очень необычный подход к решению проблем, было бы интересно понаблюдать за судьбой вопроса на других форумах, оставляйте, пожалуйста, ссылки
__________________
... |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|