Flex的FileReference类中没有save()方法
Posted
技术标签:
【中文标题】Flex的FileReference类中没有save()方法【英文标题】:There is no save() method in FileReference Class of Flex 【发布时间】:2015-08-22 16:36:57 【问题描述】:我正在尝试将 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 应用程序
【问题讨论】:
【参考方案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
【讨论】:
【参考方案2】:我认为这个问题是由构建设置引起的。
在 Flex Builder > 项目 > 属性 > Flex 编译器中,将最低 Flash Player 版本设置为 10.0.0 以上。 之后,您可以使用 FileReference.save() 方法。
也许你的设置是 9.x.x
【讨论】:
【参考方案3】:将 flex SDK 更新到 3.6A,将 Flex 编译器版本更新到 10.1.0,感谢 @(Yasuyuki Uno) 和 FileReference.Save 工作
var f:FileReference = new FileReference();
f.save(bytes,"TestAttachment.pdf");
【讨论】:
以上是关于Flex的FileReference类中没有save()方法的主要内容,如果未能解决你的问题,请参考以下文章
在 Flex 中为 PNG 图像识别由 FileReference 对象编码的数据的性质
Flex 的 FileReference.save() 只能在用户事件处理程序中调用——我该如何解决这个问题?
ASP.NET Web API,从 Flex FileReference 上传时 MIME 多部分流意外结束
flex FileReference 保存功能触发取消事件与 google-chrome 版本 47.0.2526.106 m 上的 xml 文件