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

JavaScript中URL和Blob

JavaScript中URL和Blob

常用于处理文件数据、图像数据、音频数据等。Blob对象通常用于在客户端处理文件,如上传文件、下载文件、处理图像等操作。Blob对象可以通过Blob构造函数创建,也可以通过其他方式获取,比如从File对象中获取。

使用场景

  • 文件上传:将用户选择的文件转换为Blob对象,然后通过Ajax请求将Blob对象发送到服务器。
  • 文件下载:将服务器返回的文件数据转换为Blob对象,然后通过URL.createObjectURL()生成下载链接,供用户下载。
  • 图片处理:将图片文件转换为Blob对象,然后可以进行压缩、裁剪等操作。
  • 音频视频处理:处理音频、视频文件时,也可以使用Blob对象来操作二进制数据。

相关API

  1. slice(start, end, contentType):从Blob对象中提取指定范围的数据,返回一个新的Blob对象。参数start和end分别表示提取数据的起始和结束位置(单位为字节),contentType是可选的,表示新Blob对象的MIME类型。
const blob = new Blob(["Hello, world!"]);
const slicedBlob = blob.slice(0, 5, "text/plain");
  1. size:返回Blob对象的大小,单位为字节。
const blob = new Blob(["Hello, world!"]);
console.log(blob.size); // 输出 13
  1. type:返回Blob对象的MIME类型。
const blob = new Blob(["Hello, world!"], { type: "text/plain" });
console.log(blob.type); // 输出 "text/plain"
  1. arrayBuffer():将Blob对象转换为ArrayBuffer对象。
const blob = new Blob(["Hello, world!"]);
blob.arrayBuffer().then(arrayBuffer => {// 处理ArrayBuffer对象
});

注意事项

如果不想再使用这个对象。可以调用URL.revokeObjectURL(你的url),最好在不使用时候就释放,减少占用资源

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

相关文章:

  • 平舌、翘舌音学习: z、c、s--zh、ch、sh
  • Windows(Win10、Win11)本地部署开源大模型保姆级教程
  • 快速排序(下)
  • LazyLLM:长上下文场景下提高LLM推理效率
  • PDF文件点击打印无反应?是何原因造成能解决吗?
  • 初学者友好!从零到一快速上手PyCharm安装的超详细图解+避坑指南教程
  • AI大模型需要什么样的数据?
  • Java每日一练_模拟面试题1(死锁)
  • 第三方库认识- Mysql 数据库 API 认识
  • Python兼职接单全攻略:掌握技能,拓宽收入渠道
  • 一键编译并启动一个 ARM Linux qemu 虚拟机
  • KubeVirt虚拟机存储及网络卸载加速解决方案
  • JVM—对象已死?
  • 【前端面试3+1】20 css三栏布局6种实现方式、多行文本溢出怎么实现、token过期了怎么处理、【二叉树的中序遍历】
  • 【C++】vector介绍以及模拟实现(超级详细<=>源码并存)
  • 【Redis 进阶】主从复制(重点理解流程和原理)
  • Git常用命
  • 强化学习时序差分算法之Q-learning算法——以悬崖漫步环境为例
  • 111推流111
  • 刷题——数组中只出现一次的两个数字
  • 《剖析程序员面试“八股文”:助力、阻力还是噱头?》
  • Redis过期key的删除策略
  • 软件管理
  • 【2024】Datawhale AI夏令营 Task3笔记——Baseline2部分代码解读及初步上分思路
  • 软件测试——测试分类(超超超齐全版)
  • 深入解析 Go 语言 GMP 模型:并发编程的核心机制
  • PHP中如何处理字符串
  • windows内存泄漏检查汇总
  • yolo格式数据集之空中及地面拍摄道路病害检测7种数据集已划分好|可以直接使用|yolov5|v6|v7|v8|v9|v10通用
  • [Meachines] [Easy] Mirai Raspberry树莓派默认用户登录+USB挂载文件读取