繁体   English   中英

在FileReference.save方法中出现错误

[英]Getting an error in FileReference.save method

我目前在Flex 3.0中工作,但出现错误(下面给出了屏幕截图)。 我正在使用Flash Player 10.0版

目前,我正在调用HTTPService,并且在该HTTPService的resultHandler中,我在方法filereference.save()中遇到错误。 因为仅在发生MouseEvent或Keyboard事件时才调用此方法。

有什么解决方案可以克服这种情况,换句话说,可以在ResultHandler中调用filereference.save方法。

在此处输入图片说明

这样做的原因是,不再允许您通过用户生成的事件自动触发文件保存弹出窗口的显示,除非用户实际请求这样做。 以下是有关此主题的更多信息: http : //www.bogdanmanate.com/2010/05/12/flex-error-2176-when-using-filereference/

我使用帖子中描述的解决方案解决了这个问题,即使用“是/否”警报来向用户指示文件已完成加载并且可以下载了,最后要求他确认要将其保存在本地。 您可能认为Thins用户不友好,但这实际上是关于安全性的。 而且,一旦知道如何触发事件,就可以找出绕过此UI问题的方法。

祝你有美好的一天!

你不能。 您需要用户的单击按钮才能完成它。 调度MouseEvent是没有用的。 罗米的方法可以帮助您。 但是出于安全原因,您需要单击一下按钮。

我所做的..结果是检索文件位置并像html页面一样打开它。 然后可以下载它。 除了强迫用户单击Romi所说的按钮外,我没有其他解决方案。

var u:URLRequest = new URLRequest(event.result); 
navigateToURL(u, "_blank");

另一种解决方案可能是将文件发送到服务器,然后让服务器将其发送回客户端,这将触发浏览器的“保存/打开”对话框。 但是,如果文件是由flex创建的,那么这不是理想的带宽方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM