AS3 FileReference.save()工作在本地的浏览器而不是测试时(AS3 FileRe

2019-09-27 16:28发布

我创建了一个绘画应用程序,当用户想要的拯救他的绘画,他只需点击保存按钮,弹出一个对话框 - 或者应该做的。

当开发机器上进行本地测试,这是没有问题,但每当应用程序在浏览器中加载它不会工作。 即使我在浏览器中加载本地SWF文件将无法正常工作。

下面的代码是什么,我用它来保存文件,并表示它工作正常,在当地,但每当它进入一个浏览器,它dosen't.The保存对话框根本不会弹出。

有什么建议么?

var bitmapData:BitmapData = new BitmapData(canvas.width, canvas.height);
bitmapData.draw(canvas);
var jpg:JPEGEncoder = new JPEGEncoder(100);
var ba:ByteArray = jpg.encode(bitmapData);

file = new FileReference();
file.addEventListener(Event.COMPLETE, fileSaveComplete);
file.addEventListener(IOErrorEvent.IO_ERROR, error);
file.save(ba, 'FileName.jpg');

运行FlashPlayer的11和编译10.2 BTW。

Answer 1:

这是一个安全问题。 保存文件对话框窗口现在只能开一个结果的直接用户的事件,就像一个点击。 一个解决方案是通知时,创建图像的用户,如果他要文件保存到本地问。 如果他点击是的,你调用保存方法。

下面是关于这种变化的详细信息:

http://www.bogdanmanate.com/2010/05/12/flex-error-2176-when-using-filereference/

希望这可以帮助。 祝你有美好的一天。



文章来源: AS3 FileReference.save() works when testing locally but not in the browser