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

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

页面展示:

代码实现:

: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, '');

相关推荐
鹏多多几秒前
Flutter下拉刷新上拉加载侧拉刷新插件:easy_refresh全面使用指南
android·前端·ios
Mike_jia14 分钟前
OpenDeRisk:AI 原生风险智能系统 ——7*24H 应用系统AI数字运维助手(AI-SRE)
前端
朱穆朗23 分钟前
electron升级到33.0.x版本后,devtools字体的修改方法
前端·javascript·electron
2501_9444522329 分钟前
智能洞察 Cordova 与 OpenHarmony 混合开发实战
javascript
IT_陈寒32 分钟前
Java 21新特性实战:5个必学的性能优化技巧让你的应用提速40%
前端·人工智能·后端
Irene199136 分钟前
insertAdjacentHTML() 详解
javascript·dom
HarrySunCn36 分钟前
大夏龙雀DX-CT511N-B实战之路-第1步
前端·单片机·物联网·iot
未来之窗软件服务44 分钟前
幽冥大陆(七十七)C# 调用 中文huayan-medium.onnx —东方仙盟练气期
前端·ui·c#·仙盟创梦ide·东方仙盟
古茗前端团队1 小时前
用 NAudio 做一个音频播放器及原理
前端
成为大佬先秃头1 小时前
渐进式JavaScript框架:Vue 工具 & 模块化 & 迁移
开发语言·javascript·vue.js