Inhaltsverzeichnis
Lösung
Heim WeChat-Applet Mini-Programmentwicklung So zeigen Sie Base64-Bilder im Miniprogramm an

So zeigen Sie Base64-Bilder im Miniprogramm an

Dec 13, 2021 am 10:11 AM
小程序 微信

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!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So ändern Sie den Authentifizierungsausweis mit echtem Namen auf WeChat So ändern Sie den Authentifizierungsausweis mit echtem Namen auf WeChat Apr 24, 2024 am 10:58 AM

So ändern Sie den Authentifizierungsausweis mit echtem Namen auf WeChat

Woher weiß WeChat, dass die andere Partei es gelesen hat? Woher weiß WeChat, dass die andere Partei es gelesen hat? Apr 24, 2024 pm 01:45 PM

Woher weiß WeChat, dass die andere Partei es gelesen hat?

Kann ich Besucher in WeChat Moments sehen? Kann ich Besucher in WeChat Moments sehen? May 06, 2024 pm 01:30 PM

Kann ich Besucher in WeChat Moments sehen?

So schließen Sie die passwortfreie WeChat-Zahlung ab So schließen Sie die passwortfreie WeChat-Zahlung ab Apr 18, 2024 pm 02:01 PM

So schließen Sie die passwortfreie WeChat-Zahlung ab

Wo ist die WeChat-Authentifizierung mit echtem Namen? Wo ist die WeChat-Authentifizierung mit echtem Namen? Apr 18, 2024 pm 01:50 PM

Wo ist die WeChat-Authentifizierung mit echtem Namen?

So löschen Sie die WeChat-Blacklist vollständig So löschen Sie die WeChat-Blacklist vollständig Apr 18, 2024 pm 01:46 PM

So löschen Sie die WeChat-Blacklist vollständig

Es gibt Gerüchte, dass „das iPhone 16 WeChat möglicherweise nicht unterstützt', und Apples technischer Berater in China sagte, dass man mit Tencent über App-Store-Provisionen kommuniziert Es gibt Gerüchte, dass „das iPhone 16 WeChat möglicherweise nicht unterstützt', und Apples technischer Berater in China sagte, dass man mit Tencent über App-Store-Provisionen kommuniziert Sep 02, 2024 pm 10:45 PM

Es gibt Gerüchte, dass „das iPhone 16 WeChat möglicherweise nicht unterstützt', und Apples technischer Berater in China sagte, dass man mit Tencent über App-Store-Provisionen kommuniziert

Wussten Sie, dass die Person, die Sie auf WeChat blockiert haben, wiederhergestellt wurde? Wussten Sie, dass die Person, die Sie auf WeChat blockiert haben, wiederhergestellt wurde? Apr 24, 2024 pm 01:34 PM

Wussten Sie, dass die Person, die Sie auf WeChat blockiert haben, wiederhergestellt wurde?

See all articles