【问题标题】:directory is not created using phonegap android目录不是使用phonegap android创建的
【发布时间】:2015-12-19 06:07:46
【问题描述】:

在创建目录时遇到问题,这是我的代码:

var d = new Date(); 
var n = d.getTime(); 
var newFileName = n + ".jpg"; 
var myFolderApp = "myFolder"; 
var newFile=myFolderApp+"/"+newFileName; 

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys) { 
alert('root is :'+fileSys.root.name) 

fileSys.root.getDirectory("myFolder",{create:true, exclusive: false}, 
function(directory) 
{ 
alert('direcrory name :'+directory.name) 
fileSystem.copyTo(directory, newFileName,function(fileSystem) 
{ 

alert('file sved!') 

      }, resOnError); 
   }, 
     resOnError); 
 }, 
  resOnError); 

 function resOnError(error) { 
    alert('Error at resOnError :'+error.code+' ,message :'+eror.message); 
    } 

还添加了读写权限。

  1. 这是使用的插件“cordova plugin add cordova-plugin-file”。
  2. 通过另一个函数调用此函数,而不是使用设备就绪事件。

3.目录未创建,代码执行没有错误。

谢谢


这里的代码 var 图片来源; // 图片来源 变量目的地类型; // 设置返回值的格式

(function(){
     document.addEventListener("deviceready", onDeviceReady, false);
})();


function onDeviceReady() 
{
    pictureSource=navigator.camera.PictureSourceType;
    destinationType=navigator.camera.DestinationType;   
}

function save()
{
     alert(imageForCategory)
               window.resolveLocalFileSystemURL(imageForCategory,resolveOnSuccess,resOnError);
}

function onFail(message) 
{
      alert('Failed because: ' + message);
}
function getPhoto(source) 
{
      navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality:     100,destinationType: destinationType.FILE_URI,sourceType: source });
}
var imageForCategory="";
function onPhotoURISuccess(imageURI) 
{
      var largeImage = document.getElementById('largeImage');
      largeImage.style.display = 'block';
      largeImage.src = imageURI;
      imageForCategory=largeImage.src;
}

function resOnError(error) {
    alert('Error at resOnError :'+error.code+' ,message :'+error.message);
}
function resolveOnSuccess(fileSystem)
{

    alert('on resolve success called');
    var d = new Date(); 
    var n = d.getTime();
    var newFileName = n + ".jpg";
    var myFolderApp = "myFolder";
    var newFile = myFolderApp + "/" + newFileName;

   window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function    (fileSys)     {
        alert('root is :' + fileSys.root.name);

        fileSys.root.getDirectory("myFolder", {create: true, exclusive:    false},
            function (directory) {
                alert('directory name :' + directory.name);
                directory.getFile(newFileName, {create: true}, function (file) {
                    alert("File created.");
                });
            }, resOnError);
    }, resOnError);
}

【问题讨论】:

  • 为什么不使用设备就绪事件?您必须这样做,否则您的代码将无法正常工作。
  • 现在被 deviceready evet 调用,仍然没有创建目录

标签: android cordova directory cordova-plugin-file


【解决方案1】:

我不知道你到底想做什么。它表明你想复制一个文件,但你没有说明源。

如果要创建文件,请使用以下代码:

    var d = new Date();
    var n = d.getTime();
    var newFileName = n + ".jpg";
    var myFolderApp = "myFolder";
    var newFile = myFolderApp + "/" + newFileName;

    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSys) {
        alert('root is :' + fileSys.root.name);

        fileSys.root.getDirectory("myFolder", {create: true, exclusive: false},
            function (directory) {
                alert('directory name :' + directory.name);
                directory.getFile(newFileName, {create: true}, function (file) {
                    alert("File created.");
                });
            }, resOnError);
    }, resOnError);

    function resOnError(error) {
        alert('Error at resOnError :' + error.code + ' ,message :' + eror.message);
    }

【讨论】:

  • 嗨 Joerg,我要做的是将图像保存到“myfolder”名称目录中,它不会创建或复制图像到我的目录中,并且代码执行没有错误。谢谢
  • 我上面的代码用于创建目录。但是,您要复制的文件在哪里,这是重要的问题。
  • 仍然无法创建目录。科尔多瓦 5.4.1 版
  • 我没有更多信息,抱歉。您在帖子中写道,您授予了一些权限。这是什么意思,因为在标准配置中没有必要这样做。另一方面:您是否尝试过使用其他设备或模拟器,例如 genymotion?
  • 是的,当我安装文件和文件传输插件时,会自动创建权限。也尝试过不同的设备和模拟器,但代码仍然没有创建目录。
猜你喜欢
  • 2013-09-26
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多