미니 프로그램에서 base64 이미지를 보는 방법

青灯夜游
풀어 주다: 2021-12-13 10:11:32
앞으로
5976명이 탐색했습니다.

미니 프로그램에서 base64 이미지를 보는 방법은 무엇인가요? 다음 기사에서는 WeChat 애플릿에서 base64 이미지를 미리 보는 방법을 소개하겠습니다. 도움이 되길 바랍니다!

미니 프로그램에서 base64 이미지를 보는 방법

1. 배경에서 전송되는 이미지는 base64 형식으로 표시하고 싶으면 ["data:image/PNG;base64," + data]를 사용하여 정상적으로 표시하세요. 그런 다음 WeChat API 인터페이스 PreviewImage를 호출하면 다음과 같은 많은 문제가 있습니다.

  • windows 개발 도구 검은색 화면
  • 일부 Android 모델은 표시할 수 없습니다.
  • 콘솔 오류 등

두 번째로 문의한 결과 공식 답변. WeChat 공식은 URL 주소를 사용해야 하며 base64 형식이 지원되지 않음을 의미합니다. 다음은 공식 WeChat 답변입니다.

wx.previewImage API가 base64 이미지를 미리 보면 WeChat Open Community(qq.com | )

https:/ /developers.weixin.qq.com/community/develop/doc/00088c9e44c3d880597ab22b15bc00?highLine=wx.previewImage%20base64

미니 프로그램에서 base64 이미지를 보는 방법

솔루션

아이디어 : 먼저 base64를 임시 파일로 저장하세요. 로컬 후 미리보기, 미리보기가 끝나면 임시 파일 삭제

// 获取应用实例
const app = getApp()

Page({
  data: {
    //base64数据,由后台传过来
    base64: '',
    //本机的临时文件路径
    localImgUrl: ''
  },

  onShow: function() {
    // 在这里删除临时文件
    var localImgUrl = this.data.localImgUrl;
    if(localImgUrl) {
      var fs = wx.getFileSystemManager();
      fs.unlinkSync(localImgUrl);
      fs.closeSync();
    }
  },
    
  //预览图片
  onPreviewImage() {
    var base64 = "data:image/PNG;base64," + this.data.base64;
    var imgPath = wx.env.USER_DATA_PATH + '/e-invoice' + Date.parse(new Date()) + '.png';
    var imageData = base64.replace(/^data:image\/\w+;base64,/, "");
    var fs = wx.getFileSystemManager();
    fs.writeFileSync(imgPath, imageData, "base64");
    fs.close();
    this.setData({
      localImgUrl: imgPath
    })
    wx.previewImage({
      urls: [imgPath] // 需要预览的图片http链接列表
    })
  }
})
로그인 후 복사

[관련 학습 권장사항: Mini 프로그램 개발 튜토리얼]

위 내용은 미니 프로그램에서 base64 이미지를 보는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:juejin.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿