Actionscript 3 我怎么能';强制下载';完全在Flash中生成的文件?
如果我在Flash Player中生成一个二进制文件,如何在不首先将其发送到服务器的情况下弹出文件的“保存”对话框 我肯定听说这是Flash 10的一个新功能 干杯,Actionscript 3 我怎么能';强制下载';完全在Flash中生成的文件?,actionscript-3,browser,flash,Actionscript 3,Browser,Flash,如果我在Flash Player中生成一个二进制文件,如何在不首先将其发送到服务器的情况下弹出文件的“保存”对话框 我肯定听说这是Flash 10的一个新功能 干杯, James如果您在flash player内,可以执行以下操作: import flash.net.FileReference; import flash.utils.ByteArray; var fileReference:FileReference = new FileReference(); var data:ByteA
James如果您在flash player内,可以执行以下操作:
import flash.net.FileReference;
import flash.utils.ByteArray;
var fileReference:FileReference = new FileReference();
var data:ByteArray; // load up your data into this ByteArray
fileReference.save(data, "outputfile.dat");
如果您在浏览器中运行,这将不起作用——至少在我记忆中是这样,但如果您在flash player中,这将起作用
FileReference.save()方法将弹出一个对话框,供用户选择保存文件的位置,因此给定的文件名只是一个建议的文件名
编辑:如果您遇到问题,也请参见下面的Technomag评论这将有帮助,并真正向您展示如何操作,您需要记住的是,打开和保存文件只能通过用户启动来完成,无法自动完成,因此不确定您正在尝试做什么,但这会有所帮助:
我相信你再也不能用最新的闪光灯了Player@Pez你在哪里读到的?它对我仍然有效。它可能在浏览器中不起作用,但在flash player中起作用。在flash player 10中,我认为您需要调用fileRef.save()以响应按键或鼠标按下。也就是说,需要有用户交互触发此方法才能使其工作。这是一个安全特性,是功能从FP9到FP10的变化。@Tehnomaag:很好的信息,我从来没有在没有用户交互的情况下使用过,所以这部分提到了我。那里的示例代码基于Flex,但内联脚本的主要部分也很容易在纯AS3项目中重用。