如何绕过Flash错误2176

时间:2010-05-18 16:52:38

标签: flex flash

在我的Flex应用程序中,用户需要能够上传和下载内容。但是,此内容受访问限制,我需要在允许上载/下载之前进行权限检查。用户单击链接,然后使用FileReference类选择文件。 FileReference类不附加cookie信息,因此我无法使用会话。

我想实现一个两步过程,客户端首先ping服务器以获取一次性使用令牌,然后使用一次性使用令牌作为参数进行上载或下载。但是,这个计划被错误#2176挫败,这显然是对FP10的安全修复,它只允许在MouseEvent传播期间触发上传/下载。不管怎么说呢?

1 个答案:

答案 0 :(得分:3)

我为此here.

找到了解决方法
 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
                layout="absolute" 
                minWidth="955" minHeight="600"
                creationComplete="creationCompleteHandler(event)">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.events.CloseEvent;
            import mx.events.FlexEvent;

            protected function creationCompleteHandler(event:FlexEvent):void
            {
                Alert.show("Now you can save the file!", "Test", Alert.OK|Alert.CANCEL, null, closeHandler);
            }

            protected function closeHandler( event:CloseEvent ):void
            {
                var fileReference :FileReference;

                if ( event.detail == Alert.OK )
                {
                    fileReference = new FileReference();
                    fileReference.save("http://www.bogdanmanate.com", "test.txt");
                }
            }
        ]]>
    </mx:Script>

</mx:Application>