0

绘制显示对象的位图后,我需要在本地保存位图以及文本输入,并避免 Flash 播放器在保存时会显示的系统对话框。这可以用PHP实现吗?我读过 Air 非常有效地处理了这项任务,但我对这两个平台都缺乏经验。任何帮助将不胜感激!谢谢...

4

2 回答 2

2

不,你不能。允许 web 应用程序在未经许可的情况下将数据保存在本地系统上是一个巨大的安全风险(我可以编写一个看起来合法的 web 应用程序来在您的系统上保存间谍软件)。由于这个原因,Flash 不允许它。

但是,基于桌面 (AIR) 的应用程序可以FileStream在该FileMode.WRITE模式下打开 a 并向其写入数据,而无需用户的任何提示。

编辑 由于您正在寻找基于桌面的应用程序,因此这里有一些提示:

var randomname:String=Math.floor(Math.random() * 1024).toString(16) + ".png"
var f:File=File.desktopDirectory.resolvePath("photos/" + randomname);
var s:FileStream=new FileStream();
s.open(f, FileMode.WRITE);
s.writeBytes(bytesArray); //bytesArray contains the binary data to write to the file
s.close();
于 2012-05-03T18:08:43.247 回答
0

为此请参阅FileReference.save() 。
是的,它需要用户交互(否则将是一场噩梦)。

如果您不愿意使用 AIR 和FileStream类,这是您唯一的选择。
AIR 文件 api 没有这个限制,但需要您运行桌面应用程序。

好吧,您始终可以使用本地SharedObject来存储一些数据,但在这种情况下您将获得 AMF 编码。这将适用于 AIR 和 Web 应用程序。

于 2012-05-03T17:43:53.887 回答