保存目录上捕获的图像时出现PhoneGap文件AP​​I问题

时间:2014-02-17 02:16:12

标签: android image cordova fileapi

我有以下代码将图像存储在S4

目录“myApp”中
function gotFileEntry(fileEntry){   
var gotFileSystem = function(fileSystem) {
    alert("got file Sys: " + fileSystem.name);

    fileSystem.root.getDirectory("myApp", {
        create : true
    }, function(dataDir) {
        alert("got dir :" + dataDir.fullPath);
        alert("got image file entry: " + fileEntry.fullPath);
        // move the file
        fileEntry.moveTo(dataDir, "1.jpg", null, failFS);

    }, failFS);

};

 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFileSystem,failFS);
}

function SaveImage(){
   // curImageURI has value of imageURI  from onPhotoURISuccess()
   window.resolveLocalFileSystemURI(curImageURI, gotFileEntry, failFS);
}
  

“myApp”目录的S4路径:/ storage / emulated / 0 / myApp

     

curImageURI中的值:/storage/emulated/0/Android/data/com.apps.myApp/cache/1392602140698.jpg

     

以下是我收到的警报:
  得到文件Sys:持久的   得到了dir:// myApp
  得到图像文件条目:/1392602140698.jpg

我在fileEntry.moveTo(...)上面得到以下错误。

  

System.err java.io.FileNotFoundException:源不存在

我不明白我哪里出错了。如果有人能帮助我,我真的很感激。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您的代码是正确的。这是与phonegap 3.3.0较旧版本相关的错误。请参阅发行说明:

Phonegap (Cordova) 3.4.0 Release notes

  1. 升级您的手机版本。

    MAC / Linux:$ npm update -g phonegap

    Windows:C:> npm update -g phonegap

  2. 从头开始创建项目并测试您的代码,它应该工作。

    phonegap create test

  3. 在创建的目录中输入:

    cd test

  4. 为Android构建:

    phonegap build android

  5. 复制/粘贴您的代码并进行测试。
  6. 希望它有所帮助!

答案 1 :(得分:0)

我遇到了一个非常相似的问题。

在我的相机api通话中,我正在使用targetWidth: ,targetHeight:调整图片大小 我不断得到源不存在的错误。

我删除了宽度和高度,它可以正常工作。