Сбой openWithDefaultApplication для файлов в папке приложения - PullRequest
6 голосов
/ 29 октября 2010

Я ТОЛЬКО получу «Ошибка № 3000: Неверный путь», если я попытаюсь открыть файл, который находится в папке app эфира. Если файл находится где-то за пределами папки приложения, он работает.

private var file:File = File.documentsDirectory; 

    public function download():void{
        var pdfFilter:FileFilter = new FileFilter("PDF Files", "*.pdf"); 
        file.browseForOpen("Open", [pdfFilter]); 
        file.addEventListener(Event.SELECT, fileSelected); 
    }

    private function fileSelected(e:Event):void 
    { 
        var destination:File = File.applicationDirectory
        destination = destination.resolvePath("test.pdf");
        /*
        //This works, also if the file to copy is placed inside the appfolder
        file.copyTo(destination, true);
        */

        /*This Throws me an Error #3000, but ONLY if the file is located in
        the App folder*/
        file.openWithDefaultApplication();

    }

Когда я пытаюсь получить тот же файл и скопировать его в другое место, все нормально.

Почему это? Что-то особенное, если я хочу открыть файлы, которые находятся внутри папки приложения? Он также не работает в режиме отладки - bin-debug.

С уважением, Темо

1 Ответ

12 голосов
/ 29 октября 2010

Прочитав документ несколько раз, я увидел, что это невозможно (это не ошибка, это особенность!?!)

Открытие файлов с помощью системного приложения по умолчанию

Вы не можете использовать метод openWithDefaultApplication () с файлами, расположенными в каталоге приложения.

Поэтому я делаю это вместо этого:

file.copyTo(tempFile);
tempFile.openWithDefaultApplication();

Не такхорошо, но это работает.

...