功能是拍照获取照片,然后从本地读取,安卓上测试没有问题,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 );
});
});
}
1 个回复
Jenson (作者)
问题已解决,代码改成这样
参考:http://www.dcloud.io/docs/api/zh_cn/io.shtml#plus.io.resolveLocalFileSystemURL