解决小程序渲染图片出现403的问题

拿了一张小程序报403错误,但浏览器可以访问的图片

为什么会出现这个问题?再去翻一下官方文档,了解一下组件image的运行。花了点时间了解下,访问图片资源是带有防盗链(referrer)的。

总之,访问别人服务器时,连本地的防盗链(referrer)也携带了过去。携带了防盗链,别人的服务器就会对此做相关处理,看看是不是本站在访问,否则给个403。

解决403的方法,就是不要设置防盗链。可是我不会设置referrer,也不知道有没有。所以就换了个方法,换一个链接可以访问图片的链接:

可以使用images.weserv.nl链接来访问报403的图片

=》https://images.weserv.nl/?url=网络图片地址

看一下效果

原文地址:https://www.cnblogs.com/murenziwei/p/11804333.html

时间: 2024-11-02 03:16:01

解决小程序渲染图片出现403的问题的相关文章

[解决]小程序要求的 TLS 版本必须大于等于 1.2

今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enables TLS 1.2 on windows Server 2008 R2 and Windows 7 # These keys do not exist so they need to be created prior to setting values. md "HKLM:\SYSTEM\Cur

解决小程序sessionid不一致

由于小程序端两次请求的 sessionid 不一致, 导致后端无法取得 session,解决办法:在登录时获取sessionid //第一次请求登录接口时保存到sessionid中 success: function (res) { wx.hideLoading(); wx.removeStorageSync('sessionid');//每次登录时清楚缓存 if (res.data.code == "0000") { if (res.data.data.roleList[0].val

解决小程序报错 Page "pages/index/main" has not been registered yet.

在小程序开发中,会频繁遇到  Page "pages/index/main" has not been registered yet.   这种报错,意思就说指定的页面没有注册,找不到.遇到这种问题很可能不是代码问题,解决起来也真的是浪费时间,下面我介绍两种方式. 方法一:从源头处解决 产生这种现象的原因就是我们在新添加某些页面的时候为了图省事.方便,直接到文件夹中复制.粘贴.改文件名.通过这种方式创建页面就有很大几率报错,所以从源头解决的话,就是按照下图所示在项目目录中新建文件夹.文

完美解决小程序一维数组循环渲染列表不够用问题

<view class="local" id="{{itemName.id}}" data="{{itemName.name}}" class="list" bindtap='fastSearch' wx:for="{{getSearch}}" wx:for-index="" wx:for-item="itemName" wx:key=""&

解决小程序中 cover-view无法盖住canvas的问题,仅安卓出现这个问题

原因在于系统页面渲染的差异,在安卓中页面dom的渲染并不是完成按照上下顺序来的, 有可能出现写在后面的dom被先渲染出来,因此会随机出现能盖住.不能盖住的情况,很诡异是不是? 开发者工具中并非真机,只是模拟显示,调整时显示正常不代表真机中正常 解决方式很简单: 将cover-view的渲染延迟一些,例如设定500ms后显示 此问题在页面调用echarts时出现,而echarts用的是canvas实现,希望对你有帮助! 原文地址:https://www.cnblogs.com/magicc/p/1

解决小程序中Data.parse()获取时间戳IOS不兼容

由于与后台接口必须对比时间戳所以首先得前台获取时间戳.刚开始是获取手机本地时间,但用户改了时间就废了..... 后来就从服务器上获取个时间再转换为时间戳(是不是很操蛋,先从服务器上获取在TM的自己比较),但后台直接给我一个时间戳不就完事了么, 还就给我一个时间自己转然后问题就来了. [csharp] view plain copy var resData = '2017-3-14 10:03:45' console.log("返回时间:" + resData) var time = D

解决小程序无法触发SESSION问题

一.首先找到第一次发起网络请求的地址,将服务器返回set-cookie当全局变量存储起来 wx.request({ ...... success: function(res) { console.log(res.header); //set-cookie:PHPSESSID=ic4vj84aaavqgb800k82etisu0; path=/; domain=.fengkui.net // 登录成功,获取第一次的sessionid,存储起来 // 注意:Set-Cookie(开发者工具中调试全部

微信小程序里解决app.js onLaunch事件与小程序页面的onLoad加载前后异常问题

使用 Promise 解决小程序页面因为需要app.js onLaunch 参数导致的请求失败 app.js onLaunch 的代码 1 "use strict"; 2 Object.defineProperty(exports, "__esModule", { 3 value: true 4 }); 5 const http = require('./utils/http.js'); 6 const api = require('./config.js'); 7

微信小程序后台返回大量多余数据的处理

台接口返回一个数组,数组里面N多对象,每个对象里面几十上百条数据,最好玩的是,我只需要每个对象里面的某两个数据.... 类似这种: datas:[   {   id:1000,   name: "帅哥",   title: '...',   b: '...',   d: 0,   f:0,   ....   },   {   id:1001,   name: "美女",   title: '...',   b: '...',   d: 0,   f:0,   ...