0

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

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 pictureSource; // 图片源 var destinationType; // 设置返回值的格式

(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);
}
4

1 回答 1

0

我不知道你到底想做什么。它接缝你想要复制一个文件,但你没有告诉一些关于源的东西。

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

    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);
    }
于 2015-12-19T07:40:52.000 回答