2

撮影された画像ファイルの名前を変更しようとしていますが、error.code=1で常にfailメソッドになります

function renameImage(imageURI) {  
    window.resolveLocalFileSystemURI(imageURI, renameFile, fail);
}
function renameFile(entry){
    var parent = entry.fullPath.substr(0, entry.fullPath.lastIndexOf('/'));
    deleteFile(entry);
    entry.moveTo(parent, newFileName, setImageSrc, fail);
}

deleteFileは正常に機能します

親はfile:/// mnt / sdcard / DCIM/Cameraです

アップデート:

var path = obj.src.substr(0, obj.src.lastIndexOf('/'));
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function() {}, function() { alert("requestFS");});
window.resolveLocalFileSystemURI(path,  function(e) {
    path = e
    }, function() { alert("resolveFsURI path");});

resolveLocalFileSystemURIがまだ存在し、エラーが発生します:1

編集:deleteFile()なしで同じ反応を示します

4

2 に答える 2

1

いくつか試した後、これを使用します:

    navigator.camera.getPicture(function(i) {
        window.resolveLocalFileSystemURI(i, function(e) {
            var p = e.fullPath.substr(0, e.fullPath.lastIndexOf('/'));
            window.resolveLocalFileSystemURI(p, function(dir) {
                e.moveTo(dir, newName, function(f) {
                    changedSomething = true;
                    var d = new Date();
                    obj.hide();
                    //alert(f.fullPath);
                    obj.attr('src', f.fullPath+'?i='+d.getMilliseconds());
                    obj.fadeIn(600);
                    e.remove(onEmptyLoader, onEmptyLoader);}, onErrorLoader);
            }, onErrorLoader);
        }, onErrorLoader);
    }, onErrorLoader, cameraOptions);

返事が遅くなってすみません、私はこの質問を忘れていました:)

于 2012-11-09T11:27:11.010 に答える
0

あなたの問題は、DirectoryEntryである必要があるときに、親がパスであるmoveToを呼び出していることだと思います。

于 2012-05-21T19:25:38.570 に答える