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

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

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

Регистрация: Jun 2009
Сообщений: 5
Attention Ответ от сервера

Привет всем! Пожалуйста, помогите решить проблему. Я уже весь форум облазил и все поисковики замучил, а ответа не нашел. Мне надо сделать мульти-аплоад картинок. Саму загрузку я сделал, все работает. Но есть несколько небольших проблем. Я делаю так: выбираю файлы и нажимаю кнопку «Оправить». Файлы, по очереди отправляются пхп-файлу, который их сохраняет в папку. Мне надо что этот файл возвращал название файла (т.к имя файла может измениться, если такой файл уже есть).

В пхп название выводиться так
PHP код:
echo "<xml param='fname'>тут_название.jpg</xml>"
Flash отправляет файл следующим образом
Код AS1/AS2:
submit_btn.onRelease = function(){
	text3.addItem("Загрузка началась..."); 
	submit_btn.enabled = false;
	var item:FileReference = new FileReference();
	var list:Array = file_List.fileList;
 
	for(var i:Number = 0; i < list.length; i++) {
		item = list[i];
		if(item.size > maxSize) {
			text3.addItem("Файл слишком большой. Максимальный размер: " + maxSize); 
        	} else {
			item.addListener(listener);
			item.upload(uploadScript);
		}
	}
}
Что нужно добавить, чтобы получить ответ от сервера? Пишу для Flash 8 (AC2.0).
__________________
Устал? Отдохни!

Старый 11.06.2009, 17:22
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 2  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
ну, во-первых, надо посмотреть, как пишется xml-файл. Т.к. то, что вы написали - это ни разу не xml.
во-вторых, в php не забыть выставить необходимые заголовки. Я использую следующие:
Код:
header("Expires: Mon, 1 Jul 1990 05:00:00 GMT");
		header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
		header("Cache-Control: no-cache, must-revalidate");
		header("Pragma: no-cache");
		header("Content-type: text/xml; charset=utf-8");
Добавлено через 3 минуты
А разве FileReference возвращает какие-то XML-данные?

Старый 11.06.2009, 21:55
AndyRoot вне форума Посмотреть профиль Отправить личное сообщение для AndyRoot Найти все сообщения от AndyRoot
  № 3  
Ответить с цитированием
AndyRoot

Регистрация: Jun 2009
Сообщений: 5
Цитата:
Сообщение от Dr.OH Посмотреть сообщение
ну, во-первых, надо посмотреть, как пишется xml-файл. Т.к. то, что вы написали - это ни разу не xml.
Да, действительно, это не корректный XML-файл. И я это знаю. Однако если использовать LoadVars (load) с событием onLoad, все прекрасно работает. Так что, я не думаю, что дело только в этом.

Цитата:
Сообщение от Dr.OH Посмотреть сообщение
во-вторых, в php не забыть выставить необходимые заголовки. Я использую следующие:
Код:
header("Expires: Mon, 1 Jul 1990 05:00:00 GMT");
		header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
		header("Cache-Control: no-cache, must-revalidate");
		header("Pragma: no-cache");
		header("Content-type: text/xml; charset=utf-8");
Добавлено через 3 минуты
А разве FileReference возвращает какие-то XML-данные?
Заголовки это хорошо, но не работает. Насчет FileReference, я тоже не нашел возможности, чтобы мне вернулись данные (можно даже и не XML). Но может есть вариант, может на OnComplete или еще куда обработку поставить? Неужели никто не знает?
__________________
Устал? Отдохни!

Старый 11.06.2009, 22:35
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 4  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
onComplete - это всего лишь событие, которое вызывается по завершению загрузки файла.

Добавлено через 9 минут
а почему просто нельзя сделать сначала на сервер тестовый запрос по поводу того, как будет называться этот файл? Т.е. отправляем на сервер имя файла, например, myFile.txt, а от сервера получаем отклик с новым именем этого файла, например, myFile_01.txt (если такой уже есть) или myFile.txt (если еще нет). а дальше в загружаем файл.

Старый 12.06.2009, 07:34
AndyRoot вне форума Посмотреть профиль Отправить личное сообщение для AndyRoot Найти все сообщения от AndyRoot
  № 5  
Ответить с цитированием
AndyRoot

Регистрация: Jun 2009
Сообщений: 5
Раз на это событие (OnComplete) нельзя ничего "повесить", то видимо, придеться делать так, как вы сказали.

Спасибо за ответ.
__________________
Устал? Отдохни!

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от Dr.OH Посмотреть сообщение
то, что вы написали - это ни разу не xml.
Объясните, почему? Вроде бы все верно написано - простейший и правильный XML.
Присутствует корневой дескриптор xml с атрибутом param.


Последний раз редактировалось mooncar; 12.06.2009 в 11:04.
Старый 13.06.2009, 10:01
AndyRoot вне форума Посмотреть профиль Отправить личное сообщение для AndyRoot Найти все сообщения от AndyRoot
  № 7  
Ответить с цитированием
AndyRoot

Регистрация: Jun 2009
Сообщений: 5
Есть еще мысли у кого-нибудь? Или другого варианта не существует в моем случае?
__________________
Устал? Отдохни!

Старый 13.06.2009, 10:44
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 8  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
mooncar, просто зайдите по ссылке в том же посте. там подробная статья про то, как должен выглядеть корректный xml.

Добавлено через 1 минуту
как вариант можно сделать немного наоборот - чтобы имя подбирал сам флэшевый скрипт. а скрипт на стороне сервера либо принимал, либо отвергал загрузку в зависимости от имени файла.

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от Dr.OH Посмотреть сообщение
mooncar, просто зайдите по ссылке в том же посте. там подробная статья про то, как должен выглядеть корректный xml.
Я боялся такого вашего ответа, про "зайдите". Не стал бы писать, если бы не зашел.
И вики, и учебник говорят о том, что код с т.зр. XML верный. То что нет декларации - оба источника говорят, что она не обязательна.
Не хочу быть занудой, но где неправильность? Скоро делаю нечто похожее, хочется знать.

Старый 13.06.2009, 11:10
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 10  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Mooncar прав, декларация XML не критична.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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