uni.chooseImage后,将File转换成base64

H5

uni.chooseImage({
	count: count,
	sizeType: ["original", "compressed"], // 原图和压缩图都可
	sourceType: ["album"], // 从相册选择
	success:(res) => {
		const file = res.tempFiles[0];
		if (window.FileReader){
			const reader = new FileReader();
			reader.onload = function (event) {
				let fileBase64 = event.target.result;
				...
			};
			reader.readAsDataURL(file);
		}else{
			console.error("您的浏览器不支持FileReader");
		}
	}
})

APP

uni.chooseImage({
	count: count,
	sizeType: ["original", "compressed"], // 原图和压缩图都可
	sourceType: ["album"], // 从相册选择
	success:(res) => {
		const filePath = res.tempFilePaths[0];
		plus.io.resolveLocalFileSystemURL(
			filePath,
			function (entry) {
				entry.file(
					function (file) {
						var reader = new plus.io.FileReader();
						reader.onloadend = function () {
							// 获取文件类型
							const fileType = filePath
								.match(/\.\w+$/)?.[0]
								?.substring(1)
								.toLowerCase();
							let fileBase64;
							if (fileType === "png" || fileType === "jpg" || fileType === "jpeg" || fileType === "gif") {
								fileBase64 = `data:image/${fileType};base64,${e.target.result.split(",")[1]}`; // 直接使用文件类型变量
							} else {
								console.error("不支持的文件类型");
								return;
							}
							//r(fileBase64);// 处理转换后的Base64字符串
						};
						reader.onerror = function (e) {
							console.error("读取文件失败:", e);
						};
						reader.readAsDataURL(file); // 读取文件
					},
					function (e) {
						console.log("读取文件失败:" + e.message);
					}
				);
			},
			function (e) {
				console.log("获取文件失败:" + e.message);
			}
		);
	}
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值