Flex хак для загрузкі файлаў з праверкай сапраўднасці

Does anyone know the file upload hack for Flex, which will allow files to be uploaded to authenticated web services via multipart form post? In this bug report from the Adobe site, a user reports:

<�Р> Бліскавіца не з'яўляецца крос-браузерный, калі гэтая функцыя працуе толькі з дапамогай   Javascript пісакі

Да гэтага часу я не змог апрацаваць такі хак. Я не ўпэўнены, што рабіць далей. Вось што я спрабаваў да гэтага часу (усе яны былі няўдалымі ці немагчыма)

2

1 адказы

У канчатковым рахунку, гэта тое, што працуе для мяне. Я змяніў свой вэб-сэрвіс, каб прыняць паток байт замест складовага файла. Затым я выкарыстаў URLLoader , каб загрузіць байты службы.

private var fileReference:FileReference;

public function loadFile()
{
   fileReference.addEventListener(Event.COMPLETE, fileLoaded);
   fileReference.load();
}

private function fileLoaded(evt:Event):void{
   fileReference.removeEventListener(Event.COMPLETE, fileLoaded);
   startUpload();
}

public function startUpload():void {

   var xml:String =//xml to post along with the file ;
   var url:String =//url to the web service

   var bytes:ByteArray = new ByteArray();
   bytes.writeUTFBytes(fileReference.name);
   bytes.writeUTFBytes(xml);
   bytes.writeBytes(fileReference.data);
   bytes.position = 0;

   var urlLoader:URLLoader = new URLLoader();
   var request:URLRequest = new URLRequest(url);
   request.data = bytes;
   request.method = URLRequestMethod.POST
   request.contentType = "application/octet-stream";
   urlLoader.addEventListener(Event.COMPLETE, uploadComplete);
   urlLoader.addEventListener(flash.events.IOErrorEvent.IO_ERROR, uploadError);
   urlLoader.load(request);
}

private function uploadComplete(e:Event):void {
  //handle success
}

private function uploadError(e:Event):void {
  //handle failure
}
1
дададзена