Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 我怎么能';强制下载';完全在Flash中生成的文件?_Actionscript 3_Browser_Flash - Fatal编程技术网

Actionscript 3 我怎么能';强制下载';完全在Flash中生成的文件?

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

如果我在Flash Player中生成一个二进制文件,如何在不首先将其发送到服务器的情况下弹出文件的“保存”对话框

我肯定听说这是Flash 10的一个新功能

干杯,

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项目中重用。