apache-flex 使用Flex 3/Flash 9下载字节数组

piwo6bdm  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(150)

我正在尝试将文件保存到用户指定的位置,但遇到Flex 3/Flash Player 9问题。
我最初是使用Flash 4.6和以下代码完成此工作的:

protected function pdfBth_printPDF(event:MouseEvent):void
{
    var createPDF:PDF = new PDF(Orientation.PORTRAIT, Unit.MM, Size.A4)
    var image:ImageSnapshot = ImageSnapshot.captureImage(albumListGrid, 500, new JPEGEncoder());
    var resize:Resize = new Resize (Mode.RESIZE_PAGE, Position.CENTERED);
    createPDF.addPage();
    createPDF.addImageStream(image.data, ColorSpace.DEVICE_RGB, resize);

    var ba:ByteArray = createPDF.save(Method.LOCAL);
    new FileReference().save(ba,"AlbumList.pdf");       
}

这一方法非常有效,只需对列表网格进行快照,将其转换为PDF,然后保存在选定的位置。
问题是FileReference.save在Flex 3和Flash Player 9中不存在(据我所知)。我如何使用Flex 3/FP 9实现相同的功能?我希望所有的工作都在客户端完成,目前升级Flex或FP还不是一个选项。任何帮助都是非常感谢的!!!

c2e8gylq

c2e8gylq1#

Flex 3或Flash player 9不支持在本地保存文件。唯一的解决方法是将文件上传到服务器,然后从服务器下载。
看一看this example,它解释了如何做。

相关问题