Flex - 将资产下载到本地

时间:2012-09-17 10:33:31

标签: flex download local assets

我有一个互动的演示文稿,它的全部工作正常。 现在我想添加一个功能来下载当前可见的图像/视频。

因为这个演示文稿有很多文件(都存储在assets / ...下面)并且浏览资产很麻烦,所以我想要一个简单的方法来单击按钮并获得“另存为...”窗口。

我已经设法获取媒体的网址,所以现在我只需要一种方法来显示“另存为...”对话框,以允许用户保存/下载文件并将其保存在本地。

整个演示文稿应该放在网上,所以所有文件都位于项目内的/ assets / ..文件夹中。

有关如何做到这一点的想法? =)

谢谢!

编辑#1: 现在我正在使用“navigateToURL”打开一个带有媒体的新浏览器窗口。这有效,但有没有办法显示“另存为...”对话框而不是打开图像?

或者其他任何方法吗? =)

1 个答案:

答案 0 :(得分:1)

您正在寻找FileReference类,尤其是FileReference.save( data:*,defaultFileName:String = null )方法。这将打开一个“保存...”对话框以保存相应的数据对象,并允许您设置默认文件名。我不确定这个类是否也可以处理下载,因为我从来没有时间需要提示保存要下载的内容。如果它无法处理它,您需要查看URLStream类。这可以处理下载,在ProgressEvent.PROGRESS或Event.COMPLETE上,您只需执行URLStream.readBytes( byteArray );将下载的字节保存到ByteArray,然后就是您保存的数据对象。不过,我会查看FileReference类。它可以处理下载的几率。