我正在尝试将文件保存到用户指定的位置,但遇到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还不是一个选项。任何帮助都是非常感谢的!!!
1条答案
按热度按时间c2e8gylq1#
Flex 3或Flash player 9不支持在本地保存文件。唯一的解决方法是将文件上传到服务器,然后从服务器下载。
看一看this example,它解释了如何做。