Cordova文件创建目录不起作用

时间:2016-01-21 16:41:45

标签: android cordova

我有以下代码,由于某些原因,即使调用成功回调,它也无法正常工作。

这是我目前所知道的工作。

  • 相机可以拍摄图像并将其存储在应用程序的文件夹缓存中
  • 当要在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);
    }

1 个答案:

答案 0 :(得分:0)

我通过重建我的cordova-plugin-file插件解决了这个问题