Jenson
Jenson
  • 发布:2015-04-30 10:15
  • 更新:2015-04-30 14:36
  • 阅读:3021

ios下fs.root.getFile失败,error message: 不允许修改

分类:HTML5+

功能是拍照获取照片,然后从本地读取,安卓上测试没有问题,ios中就只能log到access 然后弹出错误提示"不允许修改"

function takeShot() {  
        var cmr = plus.camera.getCamera();  
      cmr.captureImage(function(p) {  
          plus.io.resolveLocalFileSystemURL(p, function(entry) {  
              var localurl = entry.toLocalURL(); //把拍照的目录路径,变成本地url路径  
              appendFile(localurl);  
          });  
      }, function(e) {  
          mui.toast("很抱歉,获取失败");  
      });  

    }  

function appendFile(url){  
        console.log("图片路径: "+url); //文件地址信息  

        if (0 != url.toString().indexOf("file://")) {  
        url = "file://" + url;  
    }  

    //plus.runtime.openFile(url);  
    plus.nativeUI.showWaiting();  
    plus.io.requestFileSystem(plus.io.PRIVATE_WWW, function(fs) {  
            console.log("access");  
        // fs.root是根目录操作对象DirectoryEntry  
        fs.root.getFile(url, {create:true}, function(fileEntry) {  
            fileEntry.file(function(file) {  
                console.log("图片大小: "+file.size+" 图片名称: "+file.name);  

            });  
        }, function (e) {  
                    alert( e.message );  
                });  
    });  
    }
2015-04-30 10:15 1 条评论 负责人:无 分享
已邀请:
Jenson

Jenson (作者)

问题已解决,代码改成这样

plus.io.resolveLocalFileSystemURL(url, function( entry ) {  
   entry.file( function(file){  
    console.log("图片大小: "+file.size+" 图片名称: "+file.name);  
   });  
}, function (e) {  
    alert("Resolve file URL failed: " + e.message);  
});

参考:http://www.dcloud.io/docs/api/zh_cn/io.shtml#plus.io.resolveLocalFileSystemURL

该问题目前已经被锁定, 无法添加新回复