Flex HTTPservice и POST, отправка файлов?

Я использую обычную почту для отправки данных на сервер Django.

Данные состоят из изображения PNG 640 * 380 в кодировке Base64, динамически созданного компонентом flex.

<mx:HTTPService id="formSend" showBusyCursor="true" 
    useProxy="false" url="http://127.0.0.1/form/" 
    method="POST" result="formSentConfirmation(event)"    fault="formSendingFailed(event)"/>



private function sendForm(url:String, message:String, meteo:Number):void {
    formSend.url = url;
    var params:Object = { message: message, image_data: getEncodedImage() }; 
    snapButton.label = "sending ...";
    formSend.send(params);
}

На стороне сервера я вижу, что данные находятся в запросе. Post не в request.FILES. Это означает, что изображение не отправляется в виде файла с многокодовым HTTP.

  1. Буду ли я попадать в беду на реальном сервере? так как предел составляет 200k для urlencoded POST var.

  2. Как заставить HTTPservice отправлять данные в виде файла?

  3. Любые другие решения?

Спасибо

13.12.2008 16:15:45
2 ОТВЕТА
РЕШЕНИЕ
  1. Вероятно, да. Это зависит от того, устанавливаете ли вы жесткое ограничение на размер файла и то, как страница назначения обрабатывает запрос.

  2. Я не верю, что это действительно возможно в данный момент.

  3. Прочитайте это . FileReference - рекомендуемый способ загрузки файлов.

0
7.01.2009 11:54:35
FileReference действительно является правильным способом загрузки файлов из Flash.
Herms 3.02.2009 16:38:19

Нашел что-то интересное, чем можно на нем копать. Использовать этот:

var urlLoader:URLLoader = new URLLoader();
    urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
    urlLoader.data = _img.data;
    urlLoader.addEventListener(Event.COMPLETE,LoadedComplete);

    var request:URLRequest = new URLRequest("www.url.com?toto=toto");
    request.method = URLRequestMethod.POST
    request.contentType = "multipart/form-data";
    request.data = _img.data;
    request.requestHeaders = new Array(new URLRequestHeader("toto", "toto"));

    urlLoader.load(request);

Ну, с этим я получаю что-то на стороне сервера C #, длина содержимого запроса не пуста, и я получил toto в параметрах и в заголовке, одна проблема в коллекции файлов нет файлов отправленных ... где отправленные байты ???

2
24.09.2009 13:57:24