Bagaimana untuk melihat imej base64 dalam program mini

青灯夜游
Lepaskan: 2021-12-13 10:11:32
ke hadapan
5976 orang telah melayarinya

Bagaimana untuk melihat imej base64 dalam program mini? Artikel berikut akan memperkenalkan kepada anda cara pratonton imej base64 dalam applet WeChat saya harap ia akan membantu anda!

Bagaimana untuk melihat imej base64 dalam program mini

1. Imej yang dihantar dari latar belakang adalah dalam format base64 Jika ia dipaparkan, gunakan ["data:image/PNG;base64," data] untuk memaparkannya seperti biasa. Kemudian terdapat banyak masalah semasa memanggil WeChat API antara muka pratontonImej, seperti:

  • skrin hitam alat pembangunan tingkap
  • Sesetengah model Android tidak dapat dipaparkan
  • Ralat konsol, dsb. .

2. Selepas siasatan, saya jumpa jawapan rasmi. WeChat rasmi bermakna anda perlu menggunakan alamat url dan format base64 tidak disokong Berikut ialah jawapan WeChat rasmi:

wx.previewImage API pratonton imej base64 menyebabkan WeChat | Komuniti Terbuka (qq.com )

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

Bagaimana untuk melihat imej base64 dalam program mini

Penyelesaian

Idea: Mula-mula simpan base64 sebagai fail sementara secara setempat, kemudian pratonton, padam fail sementara apabila pratonton selesai
// 获取应用实例
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链接列表
    })
  }
})
Salin selepas log masuk

[Cadangan pembelajaran berkaitan: Tutorial Pembangunan Program Mini

]

Atas ialah kandungan terperinci Bagaimana untuk melihat imej base64 dalam program mini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan