有沒有辦法在電話資產文件夾中獲取圖像的絕對路徑?獲取PhoneGap中資產文件夾的絕對路徑
我需要使用EmailComposer插件在郵件中附加圖像的絕對路徑。
EmailComposer插件想要的絕對路徑是這樣的:
/storage/sdcard0/DCIM/Camera/20121124_125210.jpg
但我要附加的圖像是在我的資產文件夾,這樣的路徑:
file:///android_asset/www/img/logo.png
不起作用
有沒有辦法在電話資產文件夾中獲取圖像的絕對路徑?獲取PhoneGap中資產文件夾的絕對路徑
我需要使用EmailComposer插件在郵件中附加圖像的絕對路徑。
EmailComposer插件想要的絕對路徑是這樣的:
/storage/sdcard0/DCIM/Camera/20121124_125210.jpg
但我要附加的圖像是在我的資產文件夾,這樣的路徑:
file:///android_asset/www/img/logo.png
不起作用
看起來這是不可能的。
見 https://groups.google.com/forum/#!topic/phonegap/Sw2wThOYm8c
從西蒙在該線程他指出響應...
「你不能,你想做什麼事情。這些文件中的資產目錄在技術上不上文件系統,所以他們不能通過File API訪問,這意味着調用窗口resolveLocalFileSystemURI()不會返回給你一個FileEntry,它正確地返回一個錯誤代碼1,它是NOT_FOUND_ERR。「
您需要電子郵件附件插件的文件的絕對路徑才能工作。不幸的是,如果文件駐留在資產文件夾中,則不能使用cordova的文件api來獲取絕對路徑。
存在一個插件,用於將文件從資產文件夾中複製出來並放到SD卡上。然後,您可以將此文件的確切位置傳遞給電子郵件附件插件。不幸的是,如果您計劃使用更新的cordova版本,它看起來像下面的插件已過時。
通行證 '文件:///android_asset/www/img/logo.png' 到window.resolveLocalFileSystemURI(),將所得FileEntry.fullPath是你想要的。 查看詳細示例的文檔: http://docs.phonegap.com/en/1.5.0/phonegap_file_file.md.html
以防萬一有人仍在尋找解決方案。現在科爾多瓦實現了一個非常簡單的方法來獲取當前應用程序目錄(支持Android,iOS和黑莓10):
cordova.file.applicationDirectory
例如,如果您要訪問的音頻文件在你的res/audio
目錄(內您www
),你就必須寫:
cordova.file.applicationDirectory + 'res/audio/my-audio-file.mp3'
下面是完整的文檔:https://github.com/apache/cordova-plugin-file/#where-to-store-files
我相信你會需要它是cordova.file.applicationDirectory +'www /'+'res/audio/my-audio-file.mp3'至少這就是iOS對我的行爲。 – edhubbell 2015-05-19 04:27:18
像@edhubbell,我還需要添加'www /'。 – mauvm 2015-07-14 09:55:06
cordova.file.applicationDirectory對我來說只是一個例外(未定義) – andreimarinescu 2016-05-16 15:57:10
我不能評論其他人的答案,因爲我沒有足夠的分數,但是靈體的答案是不正確的。請參閱上面的答案,解釋爲什麼它不正確。它可能可以在老版本的android和phonegap上工作,但它絕對不適用於cordova/phonegap 2.0.0 +。不幸的是,這種方法不適用於存儲在apk中的文件。 – njtman 2013-04-20 16:22:17