我有以下代码,由于某些原因,即使调用成功回调,它也无法正常工作。
这是我目前所知道的工作。
resolveonsuccess
函数中创建目录时,似乎没有创建目录,我实际检查应用程序上的文件夹并且没有创建。非常感谢任何帮助。
function capturePhoto() { sessionStorage.removeItem('imagepath'); // Take picture using device camera and retrieve image as base64-encoded string navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI }); }
function onPhotoDataSuccess(imageURI) {
// Uncomment to view the base64 encoded image data
console.log(imageURI);
// Get image handle
//
var imgProfile = document.getElementById('imgProfile');
// Show the captured photo
// The inline CSS rules are used to resize the image
//
imgProfile.src = imageURI;
if (sessionStorage.isprofileimage == 1) {
getLocation();
}
movePic(imageURI);
}
// Called if something bad happens.
//
function onFail(message) {
alert('Failed because: ' + message);
}
function movePic(file) {
console.log("Going to move file");
window.resolveLocalFileSystemURI(file, resolveOnSuccess, resOnError);
}
//Callback function when the file system uri has been resolved
function resolveOnSuccess(entry) {
var d = new Date();
var n = d.getTime();
//new file name
var newFileName = n + ".jpg";
var myFolderApp = "OCRFolder";
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSys) {
//The folder is created if doesn't exist
fileSys.root.getDirectory(myFolderApp,
{create: true, exclusive: false},
function (directory) {
entry.moveTo(directory, newFileName, successMove, resOnError);
},
resOnError);
console.log(fileSys.root);
},
resOnError);
}
//Callback function when the file has been moved successfully - inserting the complete path
function successMove(entry) {
//Store imagepath in session for future use
// like to store it in database
console.log("Move was success " + entry.fullPath);
sessionStorage.setItem('imagepath', entry.fullPath);
}
function resOnError(error) {
alert(error.code);
}
答案 0 :(得分:0)
我通过重建我的cordova-plugin-file插件解决了这个问题