2008-08-07 17 views
11

Bir sunucudan videoları ve belgeleri karşıdan yükleyen bir AIR Uygulaması yazdım. Videolar uygulamanın içinde oynatılır, ancak kullanıcının belgeleri yerel uygulamalarında açabilmesini isterim.AIR/Flex ile yerel dosyayı açın

Kullanıcıya Uygulama Depolama Dizini'nde depolanan yerel bir dosyada Aç/Farklı Kaydet komutunu sormanın bir yolunu arıyorum. FileReference + URLRequest sınıflarını kullanmayı denedim, ancak bu bir uzak URL'ye ihtiyaç duyduğu bir istisna atar.

Benim son çare sadece kendi masaüstüne dosya kopyalıyor:

cevap

2

\ tek yolu sadece dosyayı hareketli ve kullanıcı tarayıcıya yutturmaya oldu söylemeden bunu nasıl anlamaya başladı.

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

Şu anda adobe, varsayılan uygulamalarda açılış dosyalarını desteklemiyor. Onu tarayıcıya aktarmak, çalışmasını sağlamanın tek yolu gibi görünüyor.

Ancak bir FileStream kullanabilir ve bir iframe'in yerini dosyaya ayarlayan bir javascript ile küçük bir html dosyası yazabilirsiniz, daha sonra 100 ms sonra veya window.close() çağırır. Ardından bu dosyayı tarayıcıda açın.

2
FluoresFx Diyafram çerçevesinin ilk sürümüdür. Çerçeve, AIR masaüstü uygulamaları için yerel işletim sistemi entegrasyonu (yalnızca Windows) desteği sağlar.

Çerçeve, Adobe AIR uygulamalarını müdahaleci olmayan bir şekilde genişletir: sağlanan kitaplıkları AIR uygulamanızla yeniden dağıtmanız, çalışma zamanında çerçevenin otomatik olarak uygulamanıza bağlanacaktır.

Özellikleri

  • sağlanan bir hava uygulamasından sağlanan apimaging kütüphanesi ile
  • Erişim Outlook kişileri tüm ekranı ekran alın sağlanan apsystem kütüphanesi ile

    • başlatın yerel uygulamalar ve belgeler apoutlook kitaplığı

    http://aperture.fluorinefx.com/

  • 12
    (Ben AIR 2 yalnızca inanmak) File sınıfının geçerli yenilikler openWithDefaultApplication(); işlevini kullanabilirsiniz

    örn: Benim için

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

    öyle:

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

    navigateToURL(file.nativePath), "/ users/mydirectory/..." yolundan bu yana çalışmadı, application sandbox dışındaydı. AIR, yalnızca bazı iletişim kurallarının navigateToURL() ile açılmasına izin verir.