我爱吃苹果
我爱吃苹果
  • 发布:2018-10-16 09:05
  • 更新:2020-07-26 15:53
  • 阅读:5543

uniapp 图片转base64谁有解决?

分类:uni-app

uniapp 图片转base64谁有解决?

2018-10-16 09:05 6 条评论 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

图像转为base64,图像base64保存为文件 可使用插件:http://ext.dcloud.net.cn/plugin?id=123

  • 前端小高

    这个插件我亲测了一遍,应该是不支持在支付宝小程序内调用的。各位使用时需要注意下。


    2021-04-27 16:11

7***@qq.com

7***@qq.com - www.evenfs.cn

使用网络图片比如https://www.xxx.com/xxx.jpg

const toBase64 = (url,rallback) =>{  
	uni.downloadFile({  
		url: url,  
		success(res) {  
			plus.io.resolveLocalFileSystemURL(res.tempFilePath, function(entry) {  
				entry.file(function(e) {  
					let fileReader = new plus.io.FileReader();  
					fileReader.onload = function(r){  
						rallback(r.target.result)  
					}  
					fileReader.readAsDataURL(e)  
				})  
			})  
		}  
	})  
}

使用系统路径比如_doc/xxx.jpg或者_www/xxx.jpg

const toBase64 = (path,rallback) =>{  
	plus.io.resolveLocalFileSystemURL(path, function(entry) {  
		entry.file(function(e) {  
			let fileReader = new plus.io.FileReader();  
			fileReader.onload = function(r){  
				rallback(r.target.result)  
			}  
			fileReader.readAsDataURL(e)  
		})  
	})  
}

我在模拟器上试了一下,没问题,不知道别的地方是否可行。安卓模拟器,小程序和IOS系统没有试,有条件的可以试一下。

  • 1***@qq.com

    安卓真机没有问题,ios有问题


    2021-11-15 10:59

  • 易软

    回复 1***@qq.com: ios用系统路径没法吗?


    2023-05-11 17:46

DCloud_UNI_GSQ

DCloud_UNI_GSQ

直接使用地址吧,转base64做什么?

  • 我爱吃苹果 (作者)

    我也想啊。但是我们后端接口这么写的。


    2018-10-16 10:49

  • 我爱吃苹果 (作者)

    直接上传的是base64字符串到后端,后端解析成图片。我也挺郁闷


    2018-10-16 10:50

  • DCloud_UNI_GSQ

    @353788916@qq.com:如果仅考虑app端,可以使用5+的API,用bitmap加载取得base64 。http://www.html5plus.org/doc/zh_cn/nativeobj.html#plus.nativeObj.Bitmap


    2018-10-16 10:51

  • 2***@qq.com

    回复 DCloud_UNI_GSQ: 安卓端下没什么用,取出来base64是残的


    2019-04-29 02:55

  • DCloud_UNI_GSQ

    回复 2***@qq.com: 残的是什么意思?


    2019-05-15 19:56

  • 2***@qq.com

    回复 DCloud_UNI_GSQ: 就是base64代码不齐全 ,后来才郁闷的发现,是HBX打印日志不齐全


    2019-05-21 20:35

  • lioil

    回复 2***@qq.com: 我直接通过


    // 通过读取文件的方式获取base64图片  
    var reader = new plus.io.FileReader();
    reader.onloadend = function (e) {
    console.log('文件读取完成!'+JSON.stringify(e));
    var speech = e.target.result;//base64图片
    self.tempGuestImg = speech;
    self.guestList[guestNo].showPhoto = speech;
    console.log('文件内容'+speech);
    };
    reader.readAsDataURL(res.target);

    获取图片的base64,用uniapp再安卓上面的解决凡是。因为使用bitmap加载取得base64 也是有 BUG。


    2019-07-09 14:54

小殊90

小殊90

uni.chooseImage({  
	count:1,  
	sizeType: ['compressed'],  
	success: function (res) {  
		uni.getFileSystemManager().readFile({  
			filePath: res.tempFilePaths[0], //选择图片返回的相对路径  
			encoding: 'base64', //编码格式  
			success: v=> { //成功的回调  
				 let base64 =  v.data // 返回的是没有 'data:image/jpeg;base64,'头的数据, 有需要可自行追加上						         
			 }  
		})  
						  
	}  
})
  • 易软

    报错?


    2023-05-11 17:33

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