【uniapp】解决 uni.previewImage 不支持Base64的图片在APP上预览的问题

别再踩坑了!uni-app微信小程序图片引入的三种正确姿势(含image、background-image和预览 本文详细解析了uni-app微信小程序中图片引入的三种正确方式,包括image标签、background-image和预览功能,并提供了实战验证的避坑技巧。特别针对真机与开发工具差异、路径解析规则和动态绑定限制等常见问题,给出了高效解决方案,帮助开发者提升开发效率和用户体验。 阅读详情
  1. 背景
      在使用 uni.previewImage 预览 base64 流的图片的情况下,只能在 H5 实现预览,在 APP 上打开后会呈现黑屏并一直转圈。参阅了网上资料后,有效的方法思路如下:先将 base64 转为临时路径,再通过 uni.previewImage 来进行预览。

  2. 实现
    1)到插件市场下载 image-tools 到项目里(或直接 npm 下载)

npm i image-tools --save

2)完整示例

<template>
	<view>
		<image :src="base64Src" @click="previewImg"></image>
	</view>
</template>

<script>
  import {
		pathToBase64,
		base64ToPath
	} from 'image-tools'

export default {
  data() {
  		return {
        	// base64Src 图片流, 格式如:“data:image/jpg;base64,xxxxx”
      		base64Src: ''
      	}
  	},
	methods: {
   		previewImg() {
			let that = this;
			uni.showLoading({
				title: "加载中..."
			})
			base64ToPath(base64Src) 
				.then(path => {
					let imgs = [];
					uni.hideLoading()
					imgs[0] = path;
          
					uni.previewImage({
						current: 0,
						urls: imgs
					});
				})
				.catch(error => {
					// 图片加载失败
					uni.hideLoading()
				})
		} 
  	}
}
</script>
FreeSurfer安装避坑指南:从邮箱选择到环境变量设置的全流程解析 本文详细解析了在Windows系统上安装和配置FreeSurfer神经影像分析工具的全流程避坑指南。重点涵盖WSL2深度配置、软件版本选择、许可邮箱获取策略、环境变量模块化设置以及图形界面调试等关键步骤,帮助用户高效构建稳定的分析环境,避免常见安装陷阱。 阅读详情

相关推荐

FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地

一、环境介绍 操作系统介绍:ubuntu 18.04 FFMPEG版本: 4.4.2 摄像头: USB摄像头、虚拟机挂载本机自带摄像头 二、FFMPEG与X264下载编译 X264下载地址: http://www.videolan.org/developers/x264.html FFMPEG下载地址:https://ffmpeg.org/download.html Yasm ...

8815

uniapp富文本base64图片点击预览

img>首先要知道的是 uniapp 提供的图片预览 API 不支持 base64 格式的图片预览,所以要先将富文本里所有的图片找出来然后通过 HbuilderX 的插件市场下载 image-tools 来实现图片格式从 base64 转换成临时 url。完成后把临时 url 拼凑成临时数组就可以调用 uni.previewImage 来实现图片预览。下面是后端接口传过来的富文本数据,可以看到图片base64 的格式。

Snlyxiaoguais的博客 2441

SysTools SQL Recovery 13.1

SysTools SQL 修复工具是一种高级工具,可帮助修复损坏的 MDF 和 NDF SQL 服务器数据库文件。它有可能在不丢失任何数据的情况下从数据库表中恢复已删除的记录。下载免费版的 SQL 恢复工具,让您恢复多个 NDF 数据库文件并直接导出到 SQL Server 数据库。

uniapp预览base64图片

一、首先要安装插件image-tools,插件地址:https://ext.dcloud.net.cn/plugin?

huang_jimei的博客 1671

uni-app使用uni.previewImage预览文件流格式图片

​ 在进行app开发中,使用uni.previewImage无法对后端返回的base64格式的图片进行预览,H5却可以正常预览,​将base64格式的图片转化为文件路径

yy_alone的博客 2000

uni-app小程序预览base64图片

在做uni-app小程序项目时,发现uni.previewImage方法不能预览base64图片,找了好久找到一个插件可以实现base64图片预览预览前先把base64转成正常图片,转换的图片会自动保存在缓存里,预览图片的地址就是转换出来的这张图的缓存地址了,这样就可以预览了 简单教程: 插件地址:https://ext.dcloud.net.cn/plugin?id=123 将插件导入到你的项目中 在需要的页面引入 // 以下路径需根据项目实际情况填写 import { pathToBase6

忘忧 2403

uniappuni.previewImage参数为base64类型图片预览在移动端不显示问题 黑屏,一直转圈圈

https://ext.dcloud.net.cn/plugin?id=123 安装此插件,只是加载过程比较慢,可以满足需求,页面引入使用 previewImg(logourl) { let that = this; uni.showLoading({ title:"图片处理中..." }) base64ToPath(logourl) //logoul为base64图片.then(path => { let imgsArray

mk黑足的博客 5034

uni-file-picker组件深度解析:移动端文件上传的实战指南与最佳实践

文件上传是Web和移动应用开发中的基础功能,其核心原理涉及前端文件选择、格式校验、数据编码与网络传输。在uni-app跨端开发框架中,原生API虽能实现基础选择,但面对复杂业务场景时,开发者常需自行处理预览、队列管理、多端兼容等繁琐逻辑,开发效率与一致性面临挑战。组件化封装的价值在于将通用流程标准化,提供开箱即用的解决方案,从而显著提升工程效率。uni-file-picker正是这样一个面向复杂上传场景的官方组件,它通过封装文件选择、预览、校验与上传流程,为商品相册管理、多图上传、文档提交等应用场景提供了高

迷彩风情 351

小程序:300知识点/速查手册/微信原生小程序入门→中级→高级 + UniApp 跨端全栈

本文是一份小程序开发速查手册,涵盖从入门到高级的200个核心知识点。内容分为11大模块:基础架构、模板语法、样式规范、配置文件、生命周期、组件化开发、路由通信、原生API、分包工程化、性能优化及实战案例。重点解析小程序双线程架构、WXML/WXSS特性、组件化方案、setData机制、分包策略等核心技术,并提供性能优化技巧、安全规范和常见坑点解决方案。手册采用知识点编号形式,便于快速定位,适合开发者系统学习或日常查阅,帮助掌握小程序全栈开发能力。

snow的博客 494

uni-app实现高效预览多图base64

/** * @description plus将base64转换为本地图片并返回路径 * @param {Object} imageStr 为base64字符串 */ plusBase64ToPath(imageStr) { // 保存到本地 return new Promise((resolve, reject) => { let bitmap = new plus.nativeObj.Bitmap("lys"); bitmap.loadBase64Data(ima

weixin_44659286的博客 1944

uniapp上传图片到后端(不是临时路径),通过将图片转换为Base64编码

Base64编码的主要作用是在不可靠的传输媒介上安全地传输数据,比如电子邮件中的附件、来读取图片文件并转换为 Base64 编码数据,然后将其存入数组中。数组中的数据就是Base64编码的图片数据,可以传递给后端进行进一步处理。4.将红色圈住的部分点击copy 到浏览器地址栏中粘贴,可以查看图片。方法,用于将选择的图片转换为Base64编码数据并存放在。3.通过点击图片预览会输出console.log。(也就是说可以直接在网页打开)

m0_62058782的博客 1366

uniapp开发之图片预览

uniapp混合开发

l19970816的博客 602

uni.previewImage 打开是base64图片手机会闪退

先将 base64 转为临时路径,再通过 uni.previewImage 来进行预览

m0_60831453的博客 1017

uni-app 开发H5,uni.previewImage方法不能预览base64图片

https://ext.dcloud.net.cn/plugin?id=123 预览前先把base64转成正常图片,转换的图片会自动保存在缓存里,预览图片的地址就是转换出来的这张图的缓存地址了,这样就可以预览

漫天随飞雪的博客 4562

安卓uni.previewImage预览file://本地图片失败,一直转圈

背景 自己开发的安卓原生插件,会返回安卓绝对路径形式的图片,如:file:///data/user/0/com.sample.test/cache/20220316.jpg 这是在应用的cache目录下直接写入的图片。 返回到uniapp端后,在template中通过组件能正常显示图片。但通过uni.previewImage预览图片的话会一直转圈: 参数为: { "current": 0, "urls": ["file:///data/user/0/com.sample.test/cach

永远行进 9238

支付宝小程序预览base64图片解决my.previewImage不支持预览base64图片问题

【代码】支付宝小程序预览base64图片解决my.previewImage不支持预览base64图片问题

lff18277233091的博客 858

uniapp App预览图片并保存本地相册并且获得的是二进制流格式图片

uniapp App预览图片并保存本地相册并且获得的是二进制流格式图片

qq_36762151的博客 3739
上一篇: uniapp 禁止动态禁止页面上下滚动
下一篇: uni-app中checkbox-group实现全选功能
世俗ゝ
博客等级 码龄7年 19粉丝 · 76原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值