So zeigen Sie Base64-Bilder im Miniprogramm an

青灯夜游
Freigeben: 2021-12-13 10:11:32
nach vorne
5989 Leute haben es durchsucht

Wie kann ich Base64-Bilder im Miniprogramm anzeigen? Im folgenden Artikel erfahren Sie, wie Sie eine Vorschau von Base64-Bildern im WeChat-Applet anzeigen. Ich hoffe, er hilft Ihnen weiter!

So zeigen Sie Base64-Bilder im Miniprogramm an

1. Das vom Hintergrund übertragene Bild ist im Base64-Format. Wenn Sie es anzeigen möchten, verwenden Sie ["data:image/PNG;base64," + data], um es normal anzuzeigen. Beim Aufrufen der Vorschau der WeChat-API-Schnittstelle treten dann viele Probleme auf, z. B.:

  • Windows-Entwicklungstool schwarzer Bildschirm
  • Einige Android-Modelle können nicht angezeigt werden
  • Konsolenfehler usw.

Zweitens habe ich nach einer Anfrage das gefunden offizielle Antwort. WeChat offiziell bedeutet, dass Sie die URL-Adresse verwenden müssen und das Base64-Format nicht unterstützt wird:

wx.previewImage API führt zum Absturz von WeChat Open Community (qq.com )

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

So zeigen Sie Base64-Bilder im Miniprogramm an

Lösung

Idee: Speichern Sie zunächst base64 als temporäre Datei. Lokal, dann Vorschau, temporäre Dateien am Ende der Vorschau löschen

// 获取应用实例
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链接列表
    })
  }
})
Nach dem Login kopieren

[Verwandte Lernempfehlungen: Mini-Tutorial zur Programmentwicklung]

Das obige ist der detaillierte Inhalt vonSo zeigen Sie Base64-Bilder im Miniprogramm an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage