2008-08-07 52 views
11

Tôi đã viết một Ứng dụng AIR để tải xuống video và tài liệu từ máy chủ. Các video phát bên trong ứng dụng, nhưng tôi muốn người dùng có thể mở tài liệu trong ứng dụng gốc của họ.Mở tệp cục bộ bằng AIR/Flex

Tôi đang tìm cách nhắc người dùng mở/lưu dưới dạng tệp cục bộ được lưu trữ trong thư mục lưu trữ ứng dụng. Tôi đã thử bằng cách sử dụng các lớp học FileReference + URLRequest nhưng điều này ném một ngoại lệ mà nó cần một url từ xa.

phương sách cuối cùng của tôi chỉ là sao chép các tập tin vào máy tính để bàn của họ: \

Trả lời

2

Chỉ cách tôi có thể tìm ra cách để làm điều đó mà không chỉ cần di chuyển các tập tin và thông tin cho người sử dụng là để vượt qua nó tắt cho trình duyệt.

navigateToURL(new URLRequest(File.applicationStorageDirectory.nativePath + "/courses/" + fileName)); 
0

Hiện tại adobe không hỗ trợ mở tệp trong các ứng dụng mặc định. Việc chuyển nó sang trình duyệt có vẻ là cách duy nhất để làm cho nó hoạt động.

Tuy nhiên, bạn có thể sử dụng Tệp luồng và viết một tệp html nhỏ với một số javascript đặt vị trí của iframe vào tệp, sau đó sau 100ms hoặc gọi window.close(). Sau đó mở tệp đó trong trình duyệt.

2

Đây là bản phát hành đầu tiên của khung công tác FluorineFx Aperture.

Khung công tác này cung cấp hỗ trợ tích hợp hệ điều hành gốc (chỉ dành cho Windows) cho các ứng dụng máy tính để bàn AIR.

Khuôn khổ mở rộng các ứng dụng Adobe AIR theo cách không xâm nhập: chỉ cần phân phối lại các thư viện được cung cấp với ứng dụng AIR của bạn, khi chạy khung sẽ tự động đưa vào ứng dụng của bạn.

Tính năng

  • Launch ứng dụng bản địa và các văn bản với thư viện apsystem cung cấp
  • Chụp ảnh màn hình của toàn bộ màn hình với thư viện apimaging cung cấp
  • truy cập Outlook danh bạ từ một ứng dụng Air với cung cấp thư viện apoutlook

http://aperture.fluorinefx.com/

12

Bạn có thể sử dụng openWithDefaultApplication(); chức năng mới đó là có sẵn trên lớp File (Tôi tin rằng nó chỉ có sẵn trong AIR 2)

ví dụ:

var file:File = File.desktopDirectory.resolvePath(fileLocation); 
file.openWithDefaultApplication(); 
0

Đối với tôi đó là:

var request:URLRequest = new URLRequest(); 
request.url = file.url; 
navigateToURL(request, "_blank"); 

navigateToURL(file.nativePath) không hoạt động vì đường dẫn "/ users/mydirectory/..." nằm ngoài số application sandbox. AIR chỉ cho phép một số giao thức được mở với navigateToURL().

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