当前位置: 首页 > news >正文

微信小程序获取图片使用session(上篇)

概述:

我们开发微信小程序,从后台获取图片现实的时候,通常采用http get的方式,例如以下代码

<image class="user_logo" src="{{logoUrl}}"></image>

变量logoUrl为ur图片l的请求地址
但是对于很多情况,不希望图片被公开访问,需要登录才能获取到的图片,这种方式就不行了。
需要在请求中添加相关的cookie信息才行

请求:

通常的做法是,自定义http head,如下所示:

util_http_get_imagedata_show(inurl, callImageDataFun, cl) {var headerObj = {'Cookie': getApp().globalData.coockieStr};wx.request({url: inurl,method: 'get',responseType: 'arraybuffer',header: headerObj,success: function (res) {callImageDataFun(res.data, cl);}});
}callSetItemsShowData(imagedata, cl) {var picData = "data:image/png;base64," + wx.arrayBufferToBase64(imagedata);cl.setData({logoUrl : picData});
},

getApp().globalData.coockieStr 是登录的时候通过其他方式获取的session关联的cookie,保存在全局变量。

测试调用:

this.util_http_get_imagedata_show(tmpStr, this.callSetItemsShowData, this);

优缺点分析:

优点:把当前session关联的cookie代入,通过正确登录,能够很好地在当前session下获取图片,控制图片不被非法获取。

缺点:需要额外的手动写http请求过程,增加代码量。特别注意的是,对于图片比较大的(超过1M)导致小程序setData渲染效率低。如下图小程序开发工具上报警告:
在这里插入图片描述

为了解决这个性能问题,本人苦思冥想,我的下一篇文章:微信小程序获取图片使用session(下篇),地址:https://blog.csdn.net/shenweihong/article/details/144972026

http://www.lryc.cn/news/516368.html

相关文章:

  • 代码随想录算法训练营第七十天 | 拓扑排序精讲,Dijkstra(朴素版)精讲,Dijkstra(堆优化版)精讲
  • 【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)
  • Excel 打印时-预览界面内容显示不全
  • nginx-限流(请求/并发量)
  • Vue——使用html2pdf插件,下载pdf文档到本地
  • 每日一题:BM1 反转链表
  • CSS 实现字体颜色渐变
  • 【软考网工笔记】计算机基础理论与安全——网络安全
  • JS数组转字符串(3种方法)
  • 云计算安全需求分析与安全防护工程
  • C/C++的printf会调用malloc()
  • spring mvc源码学习笔记之五
  • 3272 小蓝的漆房
  • MySQL使用触发器进行备份
  • 数据结构与算法-顺序表
  • OpenAI CEO 奥特曼发长文《反思》
  • Shell编程详解
  • 跨站脚本攻击(XSS)详解
  • 03-QT中的QMainWindow+对话框QDialog
  • c# 中Parallel.ForEach 对其中一个变量进行赋值 引发报错
  • ElasticSearch备考 -- 整体脉络梳理
  • vue Element Ui Upload 上传 点击一个按钮,选择多个文件后直接上传,使用防抖解决多次上传的问题。
  • 【HF设计模式】05-单例模式
  • 运维人员的Python详细学习路线
  • 软件体系结构与设计模式
  • 安徽省地图arcgis数据美化后mxd文件shp格式下载后内容测评
  • MySQL数据库备份与恢复策略
  • go语言zero框架中教务crm系统的在职继承和离职交接的设计与实践
  • C# 设计模式(结构型模式):桥接模式
  • C# 设计模式(行为型模式):解释器模式