js在pc端正常下载base图片,使用HBuilder生成APP后下载失败,原因是手机浏览器不能直接下载base64位图片的文件,使用plus进行直接转存,代码如下:
image对象为base64对象,调用方法为 saveBasePic(base,"ceshi.jpg"),切记在使用HB生成APP时注意在配置文件中修改runmode为liberate模式,normal测试是有问题的。
"runmode" : "liberate", /应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)/
function saveBasePic (image,imageName){
var b = new plus.nativeObj.Bitmap();
var path = plus.io.convertLocalFileSystemURL("_www/"+imageName);//将文件短路径转换成本地完整路径
alert(path);
b.loadBase64Data(image,function(){
//alert("创建成功");
b.save("_www/"+imageName,{overwrite:true},function(){
//console.log("保存成功");
plus.gallery.save("_www/"+imageName, function () {
alert( "保存图片到相册成功" );
event_b(true,path);
},function(){
alert( "保存图片到相册失败" );
event_b(false,path);
});
},function(){
alert("保存图片失败!");
event_b(false,path);
});
},function(){
alert("写入文件失败,确认APP是否具有权限!");
event_b(false,path);
});
}
1 个评论
要回复文章请先登录或注册
yang7083 (作者)