Доброго времени суток,
столкнулся со следующий проблемой:
Необходимо из AIR приложения выгружать на сервер файлы, для выгрузки использую класс FileReference, на сервер сначало нужно зайти под своим именем, это сделать не сложно пример функции Login() приведен ниже, проблема в том что кукисы как я понял хранятся в экземляре объекта URLLoader, поэтому экземпляр класса FileReference не может отослать файл, т.к. он не передает кукисы серверу и тот отказывает в доступе. Как можно решить эту задачу?
Для входа использую слудующую функцию:
Код AS3:
public function Login():void
{
var request:URLRequest=new URLRequest("http://mysite.com/admin/code/index.php");
var param:URLVariables=new URLVariables();
param.xuser_name="admin";
param.xuser_password="useradmin";
param.logaction="login";
request.data=param;
request.method=URLRequestMethod.POST;
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE,onLogin);
try
{
loader.load(request);
} catch (err:IOError)
{
trace("Ошибка запроса\n"+err.message);
}
this.Loader=loader;
}
функция отправки файла:
Код AS3:
public function sendFile():void
{
var request:URLRequest=new URLRequest("http://mysite.com/admin/code/upload_user_file.php");
request.method=URLRequestMethod.POST;
var param:URLVariables=new URLVariables;
request.data=param;
File.addEventListener(Event.COMPLETE,onSend)
try
{
File.upload(request,'userfile');
} catch (err:IOError)
{
trace("Ошибка при отправке Файла\n"+err.message);
}
}
Добавлено через 14 минут
Тупанул, кукисы передаются с URLRequest, надо просто юзать один общи экземпляр объекта этого класса для обоих запросов.
Хотя код еще не работает ... но думаю дело уже в другом ....
Добавлено через 23 часа 54 минуты
Цитата:
Примечание. Если ваш сервер требует проверки подлинности пользователей, только Flash-приложения, запущенные в обозревателе (то есть с использованием дополнительного модуля обозревателя или элемента управления ActiveX), могут представить пользователю диалоговое окно для ввода имени пользователя и пароля (для проверки подлинности) и только потом перейти к загрузкам. Проигрыватель Flash Player не разрешает отправку данных на сервер, требующий проверки подлинности.
|
Нельзя в общем делать так как я хочу