uniapp图片数据流���� JFIF ��C 转化base64

embedded/2024/12/25 21:30:52/

1,后端返回的是图片数据流,格式如下

���� JFIF ��C  如何把这样的文件流转化为base64,

 btoa 是浏览器提供的函数,但在 小程序 环境中(如微信小程序、支付宝小程序),btoa 不可用。你需要手动编写 Base64 编码逻辑或者使用第三方库

2,uniapp调用接口

export  async function getImgFn(objectKey,md5){const res =await uni.request({url:ip地址,header: {'VerificationToken': 12,   //请求头根据你的要求传,我这里没有要求},method: "GET",responseType: 'arraybuffer', });let base64img='data:image/jpeg;base64,' + base64Encode(res.data)  //手动写一个base64Encode方法return base64img;}

3,手动写一个base64Encode数据流转base64方法

function base64Encode(buffer) {const base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let binary = '';const bytes = new Uint8Array(buffer);const len = bytes.byteLength;for (let i = 0; i < len; i++) {binary += String.fromCharCode(bytes[i]);}let base64 = '';let padding = '';let remainder = binary.length % 3;if (remainder > 0) {for (let i = 0; i < 3 - remainder; i++) {padding += '=';binary += '\0';}}for (let i = 0; i < binary.length; i += 3) {const n = (binary.charCodeAt(i) << 16) |(binary.charCodeAt(i + 1) << 8) |binary.charCodeAt(i + 2);base64 += base64Chars[(n >> 18) & 63] +base64Chars[(n >> 12) & 63] +base64Chars[(n >> 6) & 63] +base64Chars[n & 63];}return base64.substring(0, base64.length - padding.length) + padding;}


http://www.ppmy.cn/embedded/148413.html

相关文章

基础I/O -> 如何谈文件与文件系统?

文件的基础理解 空文件也要在磁盘上占据空间。文件 文件内容文件属性。文件操作 对内容的操作 对属性的操作或者是对内容和属性的操作。标定一个文件&#xff0c;必须使用&#xff1a;文件路径 文件名&#xff08;具有唯一性&#xff09;。如果没有指明对应的文件路径&…

uniapp小案例---趣味打字坤

当点击输入框时出现小鸡打字 当输入框失焦时打字鸡沉下去 原图自取 这里运用了一个三元 :class"isActive?active:"&#xff0c;当聚焦时isActivetrue从而让class绑定&#xff0c;当失焦时isActivefalse <template><view class"out"><inp…

开始探索XDP:开启Linux高性能网络编程的新篇章

XDP&#xff08;eXpress Data Path&#xff09;是 Linux 中的一项强大新网络功能&#xff0c;它允许在数据包进入网络栈之前以高性能可编程的方式访问这些数据包。然而&#xff0c;XDP 的学习曲线较高。许多开发者已经为这项功能撰写了入门博客&#xff0c;例如 Paolo Abeni 的…

【Redis经典面试题三】Redis有哪些数据类型?

目录 一、string 1.1 基本命令 1.2 使用场景 场景一&#xff1a;微博粉丝数 场景二&#xff1a;存json串 二、hash 2.1 基本命令 2.2 使用场景 三、list 3.1 基本命令 3.2 使用场景 场景一&#xff1a;微博粉丝关注列表 场景二&#xff1a;存放集群服务器日志 四…

命令行音乐库管理工具Beets

什么是 Beets &#xff1f; Beets 是一个音乐库管理系统和音乐文件元数据标签编辑器。它使用 MusicBrainz 数据库来自动填充音乐文件的元数据信息&#xff0c;并且可以通过插件系统来增加各种额外功能&#xff0c;比如自动下载专辑封面&#xff0c;歌词等。其目的是使您的音乐收…

情报信息收集能力

红队专题-Web渗透之资产思路框架知识整理 钓鱼社工 钓鱼自动化zip域名ARP欺骗快捷方式ToolsburpsuiteApp 抓包ffuf模糊测试QingScanWiresharkCloudCFEn-Decodeffffffff0xInfodirbdirmapdirsearchdnsenum使用测试常规使用使用字典文件进行dns查询子域名暴力查询部分C类IP地址IP块…

DFS入门

目录 概念应用场景基本模型例题 概念 这是一种用于遍历或搜索图&#xff08;包括树&#xff0c;树是一种特殊的图&#xff09;的算法。它从起始顶点开始&#xff0c;沿着一条路径尽可能深地探索下去&#xff0c;直到无法继续&#xff0c;然后回溯到前一步&#xff0c;继续探索其…

【恶意软件检测】一种基于API语义提取的Android恶意软件检测方法(期刊等级:CCF-B、Q2)

一种基于API语义提取的Android恶意软件检测方法 A novel Android malware detection method with API semantics extraction 摘要 由于Android框架和恶意软件的持续演变&#xff0c;使用过时应用程序训练的传统恶意软件检测方法在有效识别复杂演化的恶意软件方面已显不足。为…