簡體   English   中英

Cordova:無法使用Cordova在Android上復制文件

[英]Cordova: Not able to copy file on Android using Cordova

在嘗試設置以下權限時,我不知何故得到“錯誤代碼5”。 我想要做的是將現有文件從android中的資產復制到Android設備上的可訪問位置,以便能夠在其他應用程序(如郵件)之間共享它。

這是我的代碼示例:

    window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
    var storagefolder = cordova.file.dataDirectory;
    var storagefolderpointer;
    console.log("storage folder: " + storagefolder);

    // Check for support.
    if (window.requestFileSystem) {
        console.log("filesystem beschikbaar");
        var getFSfail = function () {
            console.log('Could not open filesystem');
        };
        var getFSsuccess = function(fs) {

            var getDIRsuccess = function (dir) {
                    console.debug('Got dirhandle');
                    cachedir = dir;
                    fileurl  = fs.root.fullPath + '/' + storagefolder;
                    storagefolderpointer = dir;
            };
            var getDIRfail = function () {
                console.log('Could not open directory');
            };

            console.debug('Got fshandle');
            FS = fs;
            FS.root.getDirectory(storagefolder, {create:true,exclusive:false}, getDIRsuccess, getDIRfail);
        };
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, getFSsuccess, getFSfail);

        setTimeout(function() {

            console.log("directory beschikbaar");
            var suc = function(entry){
                var goe = function(){
                    console.log("copy success");
                };
                var fou = function(){
                    console.log("copy NOT NOT success");
                };
                entry.copyTo(storagefolder, "vcard.vcf", goe, fou);
            };
            var fai = function(e){
                console.log("fail getFile: " + e.code);
            };
            window.resolveLocalFileSystemURL(storagefolderpointer + "www/visitekaart/vcard.vcf", suc, fai);

        }, 1000);

    } else {
        console.log("filesystem NOT NOT NOT available");
    }

您使用cordovaFile插件嗎?,您可以使用blob來讀取文件內容,而不是使用cordovaFile插件在android sdcard上寫一個新內容

$cordovaFile.writeFile('appdata/file.txt', blob, 0).then(function(fileEntry) {
    //success
}, function(err) {
    //err
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM