2016-12-07 98 views
0

最近我發現我無法從我的應用(iOS)上傳圖片和視頻。經過調查,函數window.resolveLocalFileSystemURL總是失敗並返回{「code」:5}。不過,它直到最近纔開始工作,我沒有遇到Android的這個問題。我的代碼如下:window.resolveLocalFileSystemURL返回代碼5

$('#take_picture').click(function(){ 
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 60, destinationType: Camera.DestinationType.FILE_URI, correctOrientation: true, targetHeight: 621, targetWidth: 621 }); 
}); 
$('#take_video').click(function(){ 
    var options = { limit: 1, quality: 0, duration: 10 }; 
    navigator.device.capture.captureVideo(onCaptureSuccess, onCaptureFail, options); 
}); 

function onCaptureSuccess(mediaFiles) { 
    var i, len; 
    for (i = 0, len = mediaFiles.length; i < len; i += 1) { movePic(mediaFiles[i].fullPath); } 
} 

function onPhotoDataSuccess(imageURI) { 
    if (device.platform == 'iOS') { file = file.replace('/private/', 'file:///'); } 
    movePic(imageURI); 
} 
function movePic(file){ 
    window.resolveLocalFileSystemURL(file, resolveOnSuccess, function(data){ alert(JSON.stringify(data)); }); 
} 

變量文件是這樣的文件:///var/mobile/Containers/Data/Application/UID/tmp/cdv_photo_021.jpg

你知不知道我應該怎麼做它使它工作?

+0

您是否試圖寫入您的應用程序目錄?如果是這樣,我不知道你可以這樣做:https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/#ios-file-system-layout –

+0

感謝您的評論。實際上,在你提到/ tmp /文件夾是可寫的頁面之前,它運行良好。 – Pierre

+0

我收到編碼區域的時間通常是在嘗試寫入我無法寫入的文件夾時。我會建議試圖在其他地方寫文件來測試這個理論 –

回答

0

最後,我完全卸載/重新安裝了Phonegap,更新了Cordova-ios,現在解決了這個問題,即使不修改任何代碼行。