2015-06-08 88 views
0

我試圖DataGrid的內容導出爲PDF的FileReference類有沒有保存()方法在Flex中

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應用程序

回答

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

0

我覺得這個問題是由生成設置造成的。

在Flex Builder>項目>屬性> Flex編譯器中,將Flash Player的最低版本設置爲10.0.0以上。
之後,您可以使用FileReference.save()方法。

也許你的設置是9.x.x

1

更新的Flex SDK到3.6A和Flex編譯器版本10.1.0,感謝@(宇野泰幸)和FileReference.Save工作

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