2014-09-27 75 views
0

我使用flash builder 4.6和flex 4.12.1 sdk並且有一個例程,其中Im使用DISTRIQT相機ANE拍攝一張照片,並將其添加到UI中作爲位圖圖像,使用BYTEARRAY將該新圖像保存到應用程序documentsDirectory ...然後我試圖使用navigateToURL在默認的Web瀏覽器或用戶選擇的任何已安裝的應用程序中打開該圖像(後者是首選解決方案,但前者足夠了)...我希望我能使用as3的openWithDefaultApplication(),但它在AIR mobile sdk上不可用。我可以使用as3 navigateToURL()在Flex移動AIR文檔目錄中打開新創建的JPG文件嗎?

我可以確認文件已保存,路徑正確 - 因此文件應該是它的位置......我有以下由事件監聽器觸發的跟蹤語句,以幫助驗證文件是否存在和位置/路徑:從我的測試

trace('exists? ' + targetFile.exists); // shows console message -- exists? true 
trace('the url: ' + targetFile.url); // shows console message -- the url: trace('path: ' +  
targetFile.nativePath); // shows console message -- path: /storage/sdcard0/test.jpg 

結果:

1)的HTC One,運行Android 4.4.2 - 工程並打開本地Web瀏覽器就好了JPG。 2.)舊版Galaxy S II運行android 4.1.2 - 創建映像,但從不打開瀏覽器並且沒有錯誤信息 3.)ios 7.1.2在iPhone 4S上 - 圖像被創建,但本地url永不加載在所有

瀏覽器嘗試加載的文件即時通訊使用下列內容:

var targetFile : File = File.documentsDirectory.resolvePath('test.jpg'); 
var targetURL2: String = targetFile.url; 
navigateToURL(new URLRequest(targetURL2)); 

基本上,我的問題是:有沒有一個可靠的簡單方式來加載一個文件(HTML或特別是在這種情況下, jpg)本地存儲在applicationDocumentsDirectory中?

我忽視或誤解了導航或訪問documentsDirectory中的文件?

回答

2

您可能需要一個「協議頭」添加到您的網址,如「文件:///」 (是的,三個斜槓;-))

瞭解更多關於它in the AIR docs

如果你需要一個用戶對話框,但你需要實現一個本地擴展。 我曾經找到過一個教程,在Android和iOS上執行本機「發送」對話框,這個對話框基本上是一樣的。對不起,我現在沒有鏈接。

相關問題