Flex的FileReference类中没有save()方法

时间:2015-06-08 09:16:40

标签: actionscript-3 flex actionscript flex3 alivepdf

我正在尝试将DataGrid的内容导出为PDF

var bytes:ByteArray = myPDF.save(Method.LOCAL);
var f:FileReference = new FileReference();
f.save(bytes,"TestAttachment.pdf"); 
/* Call to a possibly undefined method save through a reference with static type flash.net:FileReference. */

我正在使用AlivePDF版本0.1.4.9和flex builder 3来构建简单的Flex应用程序

3 个答案:

答案 0 :(得分:1)

FileReference只是对文件的引用,您正在寻找FileStream。假设ByteArray已经是PDF内容:

var bytes:ByteArray = myPDF.save(Method.LOCAL);
var file:File = File.desktopDirectory.resolvePath("myPDF.pdf");
var fileStream:FileStream = new FileStream();

fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(bytes);
fileStream.close();

对于不同设备上的目录位置, check this out

答案 1 :(得分:1)

将flex SDK更新为3.6A,将Flex编译器版本更新为10.1.0,感谢@(Yasuyuki Uno)和FileReference.Save工作

var f:FileReference = new FileReference();
f.save(bytes,"TestAttachment.pdf");

答案 2 :(得分:0)

我认为此问题是由构建设置引起的。

在Flex Builder中>项目>属性> Flex Compiler,将最小Flash Player版本设置为10.0.0以上 之后,您可以使用FileReference.save()方法。

也许你的设置是9.x.x