2016-04-18 33 views
0

我使用离子框架在iOS中的库目录中的应用程序中存储了一些图像。使用Cordova-plugin-file和Cordova-plugin-file transfer可以删除相同的目录吗?在iOS中使用cordova插件删除应用程序的临时目录

任何人都可以帮忙吗?

我下载的图片的代码是:

downloadImage: function(url, fileName) { 
     var deferred = $q.defer(); 

     window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs) { 
       fs.root.getDirectory(
        LOCAL_STORAGE_KEYS.app, { 
         create: true 
        }, 
        function(dirEntry) { 
         // console.log(arguments); 
         dirEntry.getFile(
          fileName, { 
           create: true, 
           exclusive: false 
          }, 
          function(fe) { 
           console.log(arguments); 

           var p = fe.toURL(); 
           console.log("In service the url path:", p); 
           fe.remove(); 
           var ft = new FileTransfer(); 
           console.log('File Transfer instance:', ft); 
           ft.download(
            encodeURI(url), 
            p, 
            function(entry) { 
             console.log('In service the entry callback:', entry); 
             if (entry && entry.toURL) { 
              deferred.resolve(entry.toURL()); 
             } else { 
              console.log('No entry:', arguments); 
              deferred.resolve(); 
             } 
            }, 
            function(err) { 
             console.log('Getting rejected:', err); 
             deferred.reject(err); 
            }, 
            false, 
            null 
           ); 
          }, 
          function() { 
           deferred.reject(new Error('get file failed')); 
          } 
         ); 
        } 
       ); 
      }, 
      function() { 
       deferred.reject(new Error('get directory failed')); 
      }); 

     return deferred.promise; 
    }  
+0

什么是目录的名称你想要删除? –

+0

这个名字是NCEC –

回答

0

下面是示例代码片段删除目录和使用科尔多瓦文件的插件内容:

function clearDirectory() { 
    if (ionic.Platform.isAndroid()) { 
     window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, onFileSystemDirSuccess, fail); 
    } else { 
     window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemDirSuccess, fail); 
    } 

    function onFileSystemDirSuccess(fileSystem) { 
     var entry = ""; 
     if (ionic.Platform.isAndroid()) { 
      entry = fileSystem; 
     } else { 
      entry = fileSystem.root; 
     } 
     entry.getDirectory("DIRECTORY_TO_DELETE", { 
       create: true, 
       exclusive: false 
      }, 
      function(entry) { 
       entry.removeRecursively(function() { 
        console.log("Remove Recursively Succeeded"); 
       }, fail); 
      }, getDirFail); 
    } 

    function getDirFail(error) { 
     navigator.notification.alert("Error"); 
    }; 

    function fail(error) { 
     navigator.notification.alert("Error"); 
    }; 
} 
+0

没有运气..!是否适用于iOS平台? @Gandhi –

+0

@ alyson_216适用于android和ios。在两个平台上试过并测试过。 – Gandhi

相关问题