首先要知道的是 uniapp 提供的图片预览 API 不支持 base64 格式的图片预览,所以要先将富文本里所有的图片找出来然后通过 HbuilderX 的插件市场下载 image-tools 来实现图片格式从 base64 转换成临时 url。完成后把临时 url 拼凑成临时数组就可以调用 uni.previewImage 来实现图片预览。
完整案例
previewImage() {
// 富文本全部内容
let richText = this.msgData.noticeContent
// 获取 img 标签数组
let tagsImage = richText.match(/<img[^>]+>/g)
let base64Arr = []
for (let i = 0; i < tagsImage.length; i++) {
tagsImage[i].replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function(match, capture) {
base64Arr.push(capture)
})
}
// 数组倒序 从第一张开始预览
base64Arr = base64Arr.