Как обойти Flash ошибку 2176 - PullRequest
2 голосов
/ 18 мая 2010

В моем приложении Flex пользователи должны иметь возможность загружать и загружать контент. Однако доступ к этому контенту ограничен, и мне нужно выполнить проверку разрешений, прежде чем разрешить загрузку / выгрузку. Пользователь щелкает ссылку, а затем выбирает файл, используя класс FileReference. Класс FileReference не прикрепляет информацию о файлах cookie, поэтому я не могу использовать сеанс.

Я хочу реализовать двухэтапный процесс, когда клиент сначала отправляет эхо-запрос на сервер, чтобы получить токен одноразового использования, а затем выполняет загрузку или загрузку с токеном одноразового использования в качестве параметра. Однако этот план срывается из-за ошибки # 2176, которая, по-видимому, является исправлением безопасности для FP10, который позволяет запускать / скачивать только во время распространения MouseEvent. В любом случае вокруг этого?

1 Ответ

3 голосов
/ 20 мая 2011

У меня есть обходной путь для этого здесь.

 <?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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...