2

我正在尝试重命名已拍摄的图像文件,但我总是使用 error.code = 1 的失败方法

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 回答