Apache flex Flex写入流时文件已损坏

Apache flex Flex写入流时文件已损坏,apache-flex,download,Apache Flex,Download,我正在主机上获取文件内容,并通过以下功能保存文件: protected function fileDownload(fileName:String):void { var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onCompleteFileDownload); loader.load(new URLRequest("http://samed.us/"+fileN

我正在主机上获取文件内容,并通过以下功能保存文件:

protected function fileDownload(fileName:String):void
{
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, onCompleteFileDownload);
    loader.load(new URLRequest("http://samed.us/"+fileName));
}
private function onCompleteFileDownload(e:Event):void
{
    saveFile("test.jpg",URLLoader(e.target).data);
}
private var Depo:File = File.documentsDirectory.resolvePath("testFiles");
private function saveFile(fileName:String, content:String):void
{
    var file:* = Depo.resolvePath(fileName);
    var stream:FileStream = new FileStream()
    stream.open(file, FileMode.WRITE);
    stream.writeUTFBytes(content);
    stream.close();
}
protected function fileDownload(fileName:String):void
{
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, onCompleteFileDownload);
    loader.dataFormat=URLLoaderDataFormat.BINARY;
    loader.load(new URLRequest("http://samed.us/"+fileName));
}
private function onCompleteFileDownload(e:Event):void
{
    saveFile("test.jpg",(e.target).data);
}

private var Depo:File = File.documentsDirectory.resolvePath("testFiles");
private function saveFile(fileName:String, content:*):void
{
    var file:* = Depo.resolvePath(fileName);
    var stream:FileStream = new FileStream()
    stream.open(file, FileMode.WRITE);
    stream.writeBytes(content);
    stream.close();
}
例如,可以显示。但函数是通过中断来下载和写入的


如何修复?

我发现了问题。修复功能:

protected function fileDownload(fileName:String):void
{
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, onCompleteFileDownload);
    loader.load(new URLRequest("http://samed.us/"+fileName));
}
private function onCompleteFileDownload(e:Event):void
{
    saveFile("test.jpg",URLLoader(e.target).data);
}
private var Depo:File = File.documentsDirectory.resolvePath("testFiles");
private function saveFile(fileName:String, content:String):void
{
    var file:* = Depo.resolvePath(fileName);
    var stream:FileStream = new FileStream()
    stream.open(file, FileMode.WRITE);
    stream.writeUTFBytes(content);
    stream.close();
}
protected function fileDownload(fileName:String):void
{
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, onCompleteFileDownload);
    loader.dataFormat=URLLoaderDataFormat.BINARY;
    loader.load(new URLRequest("http://samed.us/"+fileName));
}
private function onCompleteFileDownload(e:Event):void
{
    saveFile("test.jpg",(e.target).data);
}

private var Depo:File = File.documentsDirectory.resolvePath("testFiles");
private function saveFile(fileName:String, content:*):void
{
    var file:* = Depo.resolvePath(fileName);
    var stream:FileStream = new FileStream()
    stream.open(file, FileMode.WRITE);
    stream.writeBytes(content);
    stream.close();
}

问题来源:UTF和二进制。

使用例如:fileDownload(“bg2.jpg”);你应该写下你的编辑作为你问题的答案并接受它,这样人们就会知道这个问题已经得到了回答。