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

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

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

Регистрация: Jan 2004
Адрес: Москва
Сообщений: 14
Отправить сообщение для saswww с помощью AIM
По умолчанию Загрузка внешнего файла и отправка его на почту.

Здравствуйте. Есть загрузка внешнего файла (фото) с локального компьютера во флеш на сервере. Картинка сразу появляется на сервере и загружается в папку там же. Есть второй код - форма отправки письма на почту. Хотелось бы совместить - сделать форму отправки письмана почту с загруженным фото, и еще сделать проверку загружаемого файла по расширению.
Вот код заррузки файла:
Код AS1/AS2:
//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()
Второй код отправки письма:

Код AS1/AS2:
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.
Старый 25.03.2013, 00:28
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 2  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
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.
Старый 25.03.2013, 11:44
saswww вне форума Посмотреть профиль Отправить личное сообщение для saswww Найти все сообщения от saswww
  № 3  
Ответить с цитированием
saswww

Регистрация: Jan 2004
Адрес: Москва
Сообщений: 14
Отправить сообщение для saswww с помощью AIM
Спасибо. Пользоваться интернетом и поиском я и сам умею. Мне нужна конкретная помощь. Если бы я мог сам написать на as3 все это , то не обращался бы сюда.

Старый 25.03.2013, 13:48
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
saswww, приведенный вами код - это действительно AS2.
"Мне нужна конкретная помощь" - это понятно, в основном тут все авторы так или иначе в ней нуждаются.
Цитата:
Сообщение от saswww Посмотреть сообщение
Если бы я мог сам написать на as3 все это , то не обращался бы сюда.
Очевидно, все должны догадаться, что теперь вам нужно все это на AS3 + еще что-то "совместить"?
В таком случае нужно было это указать в первом сообщении. Иначе тема действительно должна быть перенесена в ветку "AS1/AS2".
Только готовые решения "от и до" появляются в ответах участников лишь иногда, обычная практика - показать, что было сделано и что не получается сейчас. Это я вас просто информирую. А в сухом остатке - нужно уточнить в первом сообщении то, какой, собственно, помощи вы ждете от участников форума.
__________________
Идите первым!


Последний раз редактировалось mooncar; 25.03.2013 в 13:59.
Старый 26.03.2013, 09:52
saswww вне форума Посмотреть профиль Отправить личное сообщение для saswww Найти все сообщения от saswww
  № 5  
Ответить с цитированием
saswww

Регистрация: Jan 2004
Адрес: Москва
Сообщений: 14
Отправить сообщение для saswww с помощью AIM
Ну если здесь вместо помощи нужен только дизайн форума и демагогия.... Спасибо что помогли, пойду на другие форумы...

Старый 26.03.2013, 17:41
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 6  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Цитата:
Спасибо. Пользоваться интернетом и поиском я и сам умею. Мне нужна конкретная помощь. Если бы я мог сам написать на as3 все это , то не обращался бы сюда.
Цитата:
Ну если здесь вместо помощи нужен только дизайн форума и демагогия....
1. Так и не сказали что нужно AS3 или AS2.
2. В приведенной ссылке 80% решения вороса. http://help.adobe.com/ru_RU/as3/dev/...0204-7cf8.html К примеру от адоби нужно просто добавить пару полей. Если вы этот пример видели, то не понятно чем он не подходит.
3. У вас очень необычный подход к решению проблем, было бы интересно понаблюдать за судьбой вопроса на других форумах, оставляйте, пожалуйста, ссылки
__________________
...

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

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

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


 


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


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