0

当用户单击 on clicked 事件处理程序中的按钮时,我可以从我的服务器下载文件,但我必须首先使用服务调用在服务器上创建文件。然后,在我的成功方法中,我可以为用户下载文件。但是,当我这样做时,我收到以下错误

错误:错误 #2176:某些操作(例如显示弹出窗口的操作)只能在用户交互时调用,例如通过鼠标单击或按钮按下。

我想我理解下载弹出窗口只能从用户交互中调用的错误。我该如何解决这个问题。我这样做是为了响应用户交互,但在服务器创建文件之前我无法执行下载。

4

1 回答 1

1

存在功能的原因是出于安全目的。我想说没有办法“绕过这个”;但您可以考虑替代实现。这里有几个:

1)给用户一个界面。第一个按钮单击显示“准备下载文件”以及何时获取资源;将按钮更改为“立即下载”。这样你就可以强制用户交互进行下载。

2) 立即启动一个指向服务器端模板的 URL,该模板将生成文件并返回它。如果该过程相对较快,用户可能不会在意。

3) 切换到一个 AIR 应用程序,该应用程序在访问本地文件系统时没有那么多限制。

于 2013-09-15T11:29:49.533 回答