江南山水电
江南山水电
  • 发布:2019-06-20 17:29
  • 更新:2019-06-24 09:45
  • 阅读:1822

downloader 下载二进制流图片怎么实现

分类:HBuilder

请教,downloader如何下载二进制的图片,在浏览器端显示是

eg:<img src="data:image/jpeg;base64,二进制流">

那在downloader 创建的时候这个url 该如何传值哇,也是这样像图片显示一样传值还是怎么滴哇

2019-06-20 17:29 负责人:无 分享
已邀请:
江南山水电

江南山水电 (作者) - 江南山水电

额,问题已经解决了,使用的是H5中 nativeObj 的原生图片对象 Bitmap,H5 文档http://www.html5plus.org/doc/zh_cn/nativeobj.html#plus.nativeObj.Bitmap
这个是实现图片存储的H5文档中的示例http://www.html5plus.org/doc/zh_cn/nativeobj.html#plus.nativeObj.Bitmap.save
如果是要保存二进制的图片,需要在保存之前先加载二进制图片在 Bitmap 对象中

bitmap.loadBase64Data(data, function(e) {  
    console.log("加载Base64图片数据成功");  
}, function(e) {  
    console.log('加载Base64图片数据失败:' + JSON.stringify(e));  
});

完整的示例下载二进制的图片流

/**  
 * 下载二进制图片到手机中  
 * @param {Object} data base64二进制图片字符串  
 * @param {Object} fileName 文件名称  
 */  
function downLoadBase64(data, fileName) {  
    //创建后为空Bitmap对象,并定义id为 appQRCode  
    var bitmap = new plus.nativeObj.Bitmap("appQRCode");  
    bitmap.loadBase64Data(data, function(e) {  
        console.log("加载Base64图片数据成功");  
    }, function(e) {  
        console.log('加载Base64图片数据失败:' + JSON.stringify(e));  
    });  

    //如果传入文件名称为空,则直接设置APP名称为文件名称  
    if (fileName == undefined) {  
        fileName = plus.runtime.name;  
    }  

    fileName = fileName + ".png";  

    bitmap.save("_doc/img/" + fileName, {}, function(i) {  
        console.log('保存图片成功:' + JSON.stringify(i));  
    }, function(e) {  
        console.log('保存图片失败:' + JSON.stringify(e));  
    });  
}

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