微信小程序请求接口返回的二维码(图片),本地工具和真机测试都能显示,上线之后不显示问题

请求后端接口返回的图片:

页面展示:

代码实现:

:show-menu-by-longpress="true" 是长按保存图片

base64Code 是转为base64的地址

html 复制代码
<image class="code" :src="base64Code" alt="" :show-menu-by-longpress="true" />

BASE_URL 是拼接接口地址的

javascript 复制代码
const base64Code = ref('');
onLoad(() => {
  //route.value.query.scene是扫描二维码后跳转链接传过来的参数(二维码携带链接是后端处理的),也就是id名称(因为我这个是扫描二维码还是跳到当前这个页面的,而后端传过来的参数名和我上个页面跳转过来传的参数名不一样)
  //route.value.query.id是上个页面跳转传过来的参数
  const id = route.value.query.id || route.value.query.scene;
  uni.request({
    url: BASE_URL + '/api/Product/GetCode?id=' + id,
    responseType: 'arraybuffer',
    success: (res: any) => {
      base64Code.value =
        'data:image/png;base64,' + uni.arrayBufferToBase64(res.data);
    },
    fail: (err) => {
      console.log(err);
    },
  });
});

这样写的话好像本地和真机调试是可以出来的,但到体验版和正式版上就是空白了,经过测试,把转成base64后的地址中的换行清除一下就可以了;

base64Code.value =

'data:image/png;base64,' + uni.arrayBufferToBase64(res.data).replace(/[\r\n]/g, '');

相关推荐
~无忧花开~几秒前
React事件处理全解析
开发语言·前端·javascript·react.js·前端框架
英俊潇洒美少年2 分钟前
豆包官方开放 API 调用指南(合法稳定版)
前端·javascript
KevinCyao4 分钟前
批量发短信接口的数据格式设计:CSV、JSON还是XML?
xml·前端·前端框架·json
英俊潇洒美少年5 分钟前
React Fiber = 任务切片 + 时间切片
前端·react.js·前端框架
漠月瑾-西安5 分钟前
JavaScript 字符串处理技巧:substring 与 indexOf 的灵活组合
javascript·前端开发·indexof·代码优化·substring·字符串处理
2501_938313407 分钟前
用Python实现自动化的Web测试(Selenium)
前端·python·自动化
Mintopia7 分钟前
React vs Vue 优势对比Demo(证明React更具优势)
前端·vue.js·react.js
2501_9419820510 分钟前
进阶指南:如何基于自动化能力进行企业通讯工具接口的二次开发
前端·机器人·自动化·企业微信·rpa
Mintopia11 分钟前
PR 才是主战场:AI 时代的 Code Review 新规则
前端·人工智能
海上彼尚12 分钟前
Nuxt4 官网访问来源统计的实现
开发语言·前端·javascript