收藏
回答

如何将收到的buffer流文件在页面中显示?

后端调用的是getUnlimitedQRCode这个接口,我调用后在preview里面能看到图片,但是在页面中显示不了


回答关注问题邀请回答
收藏

10 个回答

  • Felix
    Felix
    2024-10-11
          wx.request({
            url`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${去文档中查询如何获取access_token}`,
            method"post",
            responseType'arraybuffer', // 这里很重要,一开始我没设置,所以用wx.arrayBufferToBase64转的时候就总是空的
            data: { scene""page"pages/my/index"env_version"trial"check_pathfalse },
            success(res) {
              if (res.statusCode === 200) {
                // res.data 包含图片的 Buffer 数据
                const base64 = wx.arrayBufferToBase64(res.data)
                that.setData({ imageUrl'data:image/png;base64,' + base64 });
              } else {
                console.error('获取图片失败:', res.statusCode);
              }
            },
            fail(err) { console.log(err) }
          })
    


    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11
      async onLoad(options) {
    
        try {
    
          const that = this
    
          wx.request({
    
            url`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${文档中搜索如何获取access_token}`,
    
            method"post",
    
            responseType'arraybuffer', // 这里很重要,一开始我没写怎么调都不行
    
            data: { scene"phone=18887778888"page"pages/my/index"env_version"trial"check_pathfalse },
    
            timeout120000,
    
            success(res) {
    
              if (res.statusCode === 200) {
    
                // res.data 包含图片的 Buffer 数据
    
                const base64 = wx.arrayBufferToBase64(res.data)
    
                that.setData({ imageUrl'data:image/png;base64,' + base64 });
    
              } else {
    
                console.error('获取图片失败:', res.statusCode);
    
              }
    
            },
    
            fail(err) { console.log(err) }
    
          })
    
        } catch (err) { console.log(err); }
    
      },
    
    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11
      async onLoad(options) {
    
        try {
    
          const that = this
    
          wx.request({
    
            url`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${文档中搜索如何获取access_token}`,
    
            method"post",
    
            responseType'arraybuffer', // 这里很重要,一开始我没写怎么调都不行
    
            data: { scene"phone=18887778888"page"pages/my/index"env_version"trial"check_pathfalse },
    
            timeout120000,
    
            success(res) {
    
              if (res.statusCode === 200) {
    
                // res.data 包含图片的 Buffer 数据
    
                const base64 = wx.arrayBufferToBase64(res.data)
    
                that.setData({ imageUrl'data:image/png;base64,' + base64 });
    
              } else {
    
                console.error('获取图片失败:', res.statusCode);
    
              }
    
            },
    
            fail(err) { console.log(err) }
    
          })
    
        } catch (err) { console.log(err); }
    
      },
    
    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11

      async onLoad(options) {

        try {

          const that = this

          wx.request({

            url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${文档中搜索如何获取access_token}`,

            method: "post",

            responseType: 'arraybuffer', // 这里很重要,一开始我没写怎么调都不行

            data: { scene: "phone=18887778888", page: "pages/my/index", env_version: "trial", check_path: false },

            timeout: 120000,

            success(res) {

              if (res.statusCode === 200) {

                // res.data 包含图片的 Buffer 数据

                const base64 = wx.arrayBufferToBase64(res.data)

                that.setData({ imageUrl: 'data:image/png;base64,' + base64 });

              } else {

                console.error('获取图片失败:', res.statusCode);

              }

            },

            fail(err) { console.log(err) }

          })

        } catch (err) { console.log(err); }

      },

    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11

      async onLoad(options) {

        try {

          const res = await wx.$request({ url: "https://api.weixin.qq.com/cgibin/token", methods: "get", params: { 参数详情看文档中搜索access_token } })

          const that = this

          wx.request({

            url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${res.access_token}`,

            method: "post",

            responseType: 'arraybuffer', // 这里很重要,一开始我没写怎么调都不行

            data: { scene: "phone=18887778888", page: "pages/my/index", env_version: "trial", check_path: false },

            timeout: 120000,

            success(res) {

              if (res.statusCode === 200) {

                // res.data 包含图片的 Buffer 数据

                const base64 = wx.arrayBufferToBase64(res.data)

                that.setData({ imageUrl: 'data:image/png;base64,' + base64 });

              } else {

                console.error('获取图片失败:', res.statusCode);

              }

            },

            fail(err) { console.log(err) }

          })

        } catch (err) { console.log(err); }

      },

    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11

      async onLoad(options) {

        try {

          const res = await wx.$request({ url: "https://api.weixin.qq.com/cgibin/token", methods: "get", params: { grant_type: "client_credential",第二个参数:微信公众平台中获取appid,第三个参数: "微信公众平台中获取AppSecret" } })

          const that = this

          wx.request({

            url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${res.access_token}`,

            method: "post",

            responseType: 'arraybuffer', // 这里很重要,一开始我没写怎么调都不行

            data: { scene: "phone=18887778888", page: "pages/my/index", env_version: "trial", check_path: false },

            timeout: 120000,

            success(res) {

              if (res.statusCode === 200) {

                // res.data 包含图片的 Buffer 数据

                const base64 = wx.arrayBufferToBase64(res.data)

                that.setData({ imageUrl: 'data:image/png;base64,' + base64 });

              } else {

                console.error('获取图片失败:', res.statusCode);

              }

            },

            fail(err) { console.log(err) }

          })

        } catch (err) { console.log(err); }

      },

    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11

      async onLoad(options) {

        try {

          const res = await wx.$request({ url: "https://api.weixin.qq.com/cgibin/token", methods: "get", params: { grant_type: "client_credential", appid: "微信公众平台中获取appid", secret: "微信公众平台中获取AppSecret" } })

          const that = this

          wx.request({

            url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${res.access_token}`,

            method: "post",

            responseType: 'arraybuffer', // 这里很重要,一开始我没写怎么调都不行

            data: { scene: "phone=18887778888", page: "pages/my/index", env_version: "trial", check_path: false },

            timeout: 120000,

            success(res) {

              if (res.statusCode === 200) {

                // res.data 包含图片的 Buffer 数据

                const base64 = wx.arrayBufferToBase64(res.data)

                that.setData({ imageUrl: 'data:image/png;base64,' + base64 });

              } else {

                console.error('获取图片失败:', res.statusCode);

              }

            },

            fail(err) { console.log(err) }

          })

        } catch (err) { console.log(err); }

      },

    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11
      async onLoad(options) {
        try {
          const res = await wx.$request({ url"https://api.weixin.qq.com/cgibin/token"methods"get"params: { grant_type"client_credential"appid"微信公众平台中获取appid"secret"微信公众平台中获取AppSecret" } })
          const that = this
          wx.request({
            url`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${res.access_token}`,
            method"post",
            responseType'arraybuffer', // 这里很重要,一开始我没写怎么调都不行
            data: { scene"phone=18887778888"page"pages/my/index"env_version"trial"check_pathfalse },
            timeout120000,
            success(res) {
              if (res.statusCode === 200) {
                // res.data 包含图片的 Buffer 数据
                const base64 = wx.arrayBufferToBase64(res.data)
                that.setData({ imageUrl'data:image/png;base64,' + base64 });
              } else {
                console.error('获取图片失败:', res.statusCode);
              }
            },
            fail(err) { console.log(err) }
          })
        } catch (err) { console.log(err); }
      },
    
    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11
      async onLoad(options) {
        try {
          const res = await wx.$request({ url"https://api.weixin.qq.com/cgi-bin/token"methods"get"params: { grant_type"client_credential"appid"微信公众平台中获取appid"secret"微信公众平台中获取AppSecret" } })
          const that = this
          wx.request({
            url`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${res.access_token}`,
            method"post",
            responseType'arraybuffer', // 这里很重要,一开始我没写怎么调都不行
            data: { scene"phone=18887778888"page"pages/my/index"env_version"trial"check_pathfalse },
            timeout120000,
            success(res) {
              if (res.statusCode === 200) {
                // res.data 包含图片的 Buffer 数据
                const base64 = wx.arrayBufferToBase64(res.data)
                that.setData({ imageUrl'data:image/png;base64,' + base64 });
              } else {
                console.error('获取图片失败:', res.statusCode);
              }
            },
            fail(err) { console.log(err) }
          })
        } catch (err) { console.log(err); }
      },
    
    2024-10-11
    有用
    回复
  • Felix
    Felix
    2024-10-11
      async onLoad(options) {
        try {
          const res = await wx.$request({ url"https://api.weixin.qq.com/cgi-bin/token"methods"get"params: { grant_type"client_credential"appid"微信公众平台中获取appid"secret"微信公众平台中获取AppSecret" } })
          const that = this
          wx.request({
            url`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${res.access_token}`,
            method"post",
            responseType'arraybuffer', // 这里很重要,一开始我没写怎么调都不行
            data: { scene"phone=18887778888"page"pages/my/index"env_version"trial"check_pathfalse },
            timeout120000,
            success(res) {
              if (res.statusCode === 200) {
                // res.data 包含图片的 Buffer 数据
                const base64 = wx.arrayBufferToBase64(res.data)
                that.setData({ imageUrl'data:image/png;base64,' + base64 });
              } else {
                console.error('获取图片失败:', res.statusCode);
              }
            },
            fail(err) { console.log(err) }
          })
        } catch (err) { console.log(err); }
      },
    
    2024-10-11
    有用
    回复
登录 后发表内容