2012-11-25 29 views
7

我用這個代碼:獲取圖片的位置 - PhoneGap的相機

function getPicture(){ 
    navigator.camera.getPicture(onSuccess, onFail, { 
    quality: 50, 
    destinationType: Camera.DestinationType.FILE_URI, 
    sourceType : Camera.PictureSourceType.SAVEDPHOTOALBUM 
    }); 
} 
function onSuccess(imageURI) { 
    img_uri = imageURI; 
    alert(img_uri); 
    Plugin.callNativeFunction(nativePluginResultHandler, nativePluginErrorHandler, 'success', img_uri); 
} 

我希望得到一個URI是這樣的:「到/ mnt/SD卡/圖片...」,但警告給了我像一個URI「內容://媒體/外部/圖像/媒體/ 3915" 。

我該怎麼辦?

回答

8

您可以使用window.resolveLocalFileSystemURI來獲取真正的路徑。您的onSuccess方法看起來像:

function onSuccess(imageURI) { 
    img_uri = imageURI; 
    alert(img_uri); 
    window.resolveLocalFileSystemURI(img_uri, function(fileEntry) { 
     alert(fileEntry.fullPath); 
     Plugin.callNativeFunction(nativePluginResultHandler, nativePluginErrorHandler, 'success', fileEntry.fullPath); 
    }, onError);  
} 
+0

謝謝!!它的作品... :) – Yehuda

+0

btw。我收到一個錯誤,認爲'resolveLocalFileSystemURI'已被棄用,應該從現在開始使用'resolveLocalFileSystemURL'(因此你可以更新你的答案;)) – mrmnmly