2010-10-29 30 views
6

Tôi sẽ chỉ nhận được "Lỗi # 3000: Tên đường dẫn bất hợp pháp" nếu tôi cố gắng mở tệp được đặt bên trong thư mục ứng dụng của không khí. Nếu tệp ở một nơi khác bên ngoài thư mục ứng dụng, nó sẽ hoạt động.openWithDefaultỨng dụng không thành công trên các tệp trong thư mục ứng dụng

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(); 

    } 

Khi tôi cố gắng lấy cùng một tệp và sao chép tệp đó đến địa điểm khác, nó hoạt động tốt.

Tại sao lại như vậy? Một cái gì đó đặc biệt để làm gì nếu tôi muốn mở các tập tin được bên trong appfolder? Nó cũng không hoạt động ở chế độ gỡ lỗi - gỡ lỗi bin.

Kính trọng, Temo

Trả lời

11

Sau khi đọc tài liệu một vài lần tôi thấy rằng đây là không thể (nó không phải là một lỗi, đó là một tính năng!?!)

Opening files with the default system application

Bạn không thể sử dụng phương thức openWithDefaultApplication() với các tệp nằm trong thư mục ứng dụng.

Vì vậy, tôi làm điều này thay vì:

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

Không phải như vậy tốt đẹp, nhưng nó hoạt động.

+1

Bạn là người tiết kiệm cuộc sống. Tôi đã bonking đầu của tôi cố gắng tìm ra thông báo lỗi khó hiểu này. Bạn sẽ nghĩ rằng họ sẽ hữu ích hơn một chút trong messgae lỗi: "Yo, xin lỗi, nhưng bạn không thể đặt các tập tin mở trong thư mục lưu trữ ứng dụng yo, dawg." Hoặc một cái gì đó để có hiệu lực. –

Các vấn đề liên quan