解决图片、视频地址加密问题

news/2024/12/13 17:55:32/

 

const getImgUrl = async () => {const imgUrl = '远程链接地址'const response = await fetch(imgUrl)//取出blob二进制const blob = await response.blob()//url转为类似blob:http://localhost:9587/cf3265b9-75eb-4722-8e11-5048dec2564d//赋值给需要展示的地方const url = URL.createObjectURL(blob)
}

利用fetch或者xhr都可以,实现思路:

1、远程链接

2、fetch下载图片转二进制流

3、用URL.createObjectURL(blob)创建一个 DOMString

   (与FileReader.readAsDataURL(file)相似文末解释)

切记:需要在页面卸载之前 (例:vue 中 beforeDestroy) 去释放掉所创建的DOMString

释放方法: URL.revokeObjectURL()

主要区别

  1. 通过FileReader.readAsDataURL(file)可以获取一段data:base64的字符串
  2. 通过URL.createObjectURL(blob)可以获取当前文件的一个内存URL

执行时机:

  1. createObjectURL是同步执行(立即的)
  2. FileReader.readAsDataURL是异步执行(过一段时间)

内存使用:

  1. createObjectURL返回一段带hash的url,并且一直存储在内存中,直到document触发了unload事件(例如:document close)或者执行revokeObjectURL来释放。
  2. FileReader.readAsDataURL则返回包含很多字符的base64,并会比blob url消耗更多内存,但是在不用的时候会自动从内存中清除(通过垃圾回收机制)
  3. 兼容性方面两个属性都兼容ie10以上的浏览器。

优劣对比:

  1. 使用createObjectURL可以节省性能并更快速,只不过需要在不使用的情况下手动释放内存
  2. 如果不太在意设备性能问题,并想获取图片的base64,则推荐使用FileReader.readAsDataURL

 

 


http://www.ppmy.cn/news/46676.html

相关文章

创造歌词一首,关于毕业论文难写,暗示导师不负责

Verse1: 论文期花许多年 流露出满腹心事与抱怨 导师辅导奏效约等于零 孤军奋战,难说心中经历 Chorus: 毕业论文难写,导师不负责 被耽误的宝贵时间却延长 毕业论文难写,辛苦又劳顿 又何必在心灵裂缝中徘徊 Verse2&#…

天猫商品详情数据接口,京东商品详情数据接口,品牌商品数据分析,品牌店铺商品数据分析,监控商品价格销量接口代码封装教程

最近做一个品牌电商公司内部ERP系统分发的采集淘宝、天猫、京东商品详情页API接口的投标工作,集成的接口,其中有一个需求就是监控品牌授权店铺的价格、销量,标题、主图等等,具体需求如下描述:所有授权店铺的公开数据都…

Java——矩形覆盖

题目链接 牛客在线oj题——矩形覆盖 题目描述 我们可以用 21 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 21 的小矩形无重叠地覆盖一个 2*n 的大矩形,从同一个方向看总共有多少种不同的方法? 数据范围:0≤n≤38 进阶&#xff1…

OpenCV实例(三)答题卡识别

OpenCV实例(三)答题卡识别 1.答题卡识别概述2.单道题目的识别2.1基本流程及原理2.2代码实例: 作者:Xiou 1.答题卡识别概述 随着信息化的发展,计算机阅卷已经成为一种常规操作。在大型考试中,客观题基本不…

Trimble RealWorks处理点云数据(七)之点云导入3dmax

效果 背景 有时候我们需要通过点云数据来逆向建模,而建模软件常用的有3dmax,SketchUp等,那如何将点云数据导入3dmax来建模呢,下面我们来了解下 步骤 1、las导入Trimble RealWorks 2、对点云数据预处理 可以参考这篇文章 TrimbleRealWorks点云数据预处理 3、导出rcp格式…

普通人如何使用ChatGPT接单挣钱-第一弹

嘿,我是灵牧,今天这一期给大家带来的是普通人如何使用chatGPT挣钱的第一期 第一弹:通过GPT写一个Tkinter数独案例赚取¥50 事情原委: 今天在接单群里看到一个Tkinter写数独的需求案例,想要加一个独立的弹…

中文英文翻译-英翻中文在线翻译

如果您需要将大量的英文文件或网页翻译成中文,那么我们的批量翻译英文翻译中文的软件将是您最佳的选择。我们的软件是一款高效、准确、节省时间的翻译工具,可以在最短时间内完成大量英文文本的翻译,让您在工作生活中处处流畅地处理英语文本。…

网络之TCP中的快速重传和慢启动

小白: 大牛你好,我是一名即将毕业的大学生,最近正在准备找工作,但是我对TCP中的快速重传和慢启动不是很了解,能否请您帮我解释一下呢? 大牛: 当然可以,TCP中的快速重传和慢启动是TCP拥塞控制算法中非常重要…