首页 > 其他分享 >blob

blob

时间:2024-11-04 14:21:22浏览次数:2  
标签:const 对象 text URL blob Blob

=============== > Blob 是二进制流吗  

是的,Blob(Binary Large Object)对象表示一个不可变的、原始数据的类文件对象。Blob 表示的数据不一定是一个 JavaScript 原生格式。Blob 对象可以表示文本、图像、视频等任何形式的二进制数据。

主要特点

  1. 不可变:一旦创建,Blob 对象的内容不能被修改。
  2. 类文件对象Blob 对象的行为类似于文件对象,可以用来表示文件或其他二进制数据。
  3. 类型Blob 对象有一个 type 属性,表示数据的 MIME 类型(如 text/plainimage/png 等)。
  4. 大小Blob 对象有一个 size 属性,表示数据的字节大小。

创建 Blob 对象

你可以使用 Blob 构造函数来创建一个 Blob 对象。构造函数接受两个参数:

  • parts:一个数组,包含 ArrayBufferArrayBufferView(如 Uint8Array)、Blob 或字符串。
  • options:一个可选的对象,可以指定 typeendings 属性。

示例

javascript 深色版本
// 创建一个包含文本的 Blob 对象
const text = "Hello, World!";
const blob = new Blob([text], { type: 'text/plain' });

console.log(blob.size); // 输出 13
console.log(blob.type); // 输出 text/plain

使用 Blob 对象

生成 URL

你可以使用 URL.createObjectURL 方法生成一个指向 Blob 对象的 URL,这个 URL 可以用于各种场景,比如创建一个 <a> 标签来下载文件,或者创建一个 Worker

javascript 深色版本
const blob = new Blob(["Hello, World!"], { type: 'text/plain' });
const blobUrl = URL.createObjectURL(blob);

// 创建一个 <a> 标签来下载文件
const a = document.createElement('a');
a.href = blobUrl;
a.download = 'hello.txt';
a.textContent = 'Download';
document.body.appendChild(a);

// 创建一个 Worker
const worker = new Worker(blobUrl);
worker.onmessage = function(e) {
    console.log('Message received from worker:', e.data);
};

读取 Blob 内容

你可以使用 FileReader 对象来读取 Blob 的内容。

javascript 深色版本
const blob = new Blob(["Hello, World!"], { type: 'text/plain' });

const reader = new FileReader();
reader.onload = function(e) {
    console.log(e.target.result); // 输出 Hello, World!
};
reader.readAsText(blob);

总结

Blob 对象主要用于处理二进制数据,它可以表示各种类型的文件数据。通过 Blob 对象,你可以生成 URL、创建文件下载链接、创建 Worker,以及读取文件内容。这些功能使得 Blob 在处理文件和二进制数据时非常有用。

标签:const,对象,text,URL,blob,Blob
From: https://www.cnblogs.com/fxw1/p/18525137

相关文章

  • 重学前端 File、Blob、FileReader 基础知识学习
    前言JavaScript提供了一些API来处理文件或原始文件数据,例如:File、Blob、FileReader、ArrayBuffer、base64等。下面就来看看它们都是如何使用的,它们之间又有何区别和联系! 1.BlobBlob全称为binarylargeobject,即二进制大对象,它是JavaScript中的一个对象,表示原......
  • OpenCV(cv::dnn::blobFromImage())
    目录1.函数定义2.示例代码3.应用场景4.注意事项cv::dnn::blobFromImage()是OpenCV的DNN模块中的一个函数,用于将输入图像转换为深度学习模型可接受的输入格式(称为“blob”)。它通常在使用预训练的深度学习模型进行推理时,用于图像预处理,将图像格式转换为模型所需的四维张......
  • Blob-对象介绍
    Blob-对象介绍前端小学生前端​关注他 42人赞同了该文章Blob是什么Blob(BinaryLargeObject)表示二进制类型的大对象。在数据库管理系统中,将二进制数据存储为一个单一个体的集合。Blob对象表示一个不可变、原始数据的类文件对象。Blob表示的不......
  • VisionPro[CogBlobTool]斑点工具,圆形标注(C#脚本)
    圆形标注标注图样板添加CogToolBlock工具图像源拖入CogToolBlock在CogToolBlock中添加斑点工具拖入图像源因为图像比较对比清晰,模式选用硬阈值(动态)可以清晰的识别出斑点创建C#脚本​选用C#AdvabcedScrip高级脚本CogGraphicCollection//CogGraphicColl......
  • 界面控件DevExtreme中文教程 - 如何与Amazon S3和Azure Blob存储集成?
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NETCore或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中......
  • #1118 - Row size too large. The maximum row size for the used table type, not co
    这个问题表示在MySQL中,表的一行数据大小超过了最大限制65535字节。这通常是因为表中的某些字段过长导致的。下面是一些解决方法:调整字段类型:将一些较大的字段改为TEXT或BLOB类型。这些类型的存储方式不同于普通字段,可以避免占用过多的行内空间。拆分字段:如果某个字段包含多......
  • Lazarus中对mysql数据库Blob类型进行读写例子
    一、读一个图片到数据库varinimage1:TImage;TPStream:TMemoryStream; inimage1:=TImage.Create(nil);//读取图片TPStream:=TMemoryStream.Create;Image1.Picture.SaveToStreamWithFileExt(TPStream,'jpg');//生成jpeg图片inimage1.Free;TPStr......
  • C# convert sql blob type to plain string
    Blobstandsforbinarylargeobject byte[]bytesArr=(byte[])rows[i]["congest"];bk.Congest=Encoding.UTF8.GetString(bytesArr)publicstaticDataSetGetSQLDataset(stringselectSQL){DataSetds=newDataSet();using(MySqlDataA......
  • 接口获取文件流VUE转换为blob展示图片
    接口获取文件流VUE转换为blob展示图片vue通过接口获取图片文件流<template><el-image:src="imgurl"alt="资源访问失败"width="80%"height="80%"style="display:block"/></template><scriptsetup>importax......
  • 【openGauss】openGauss中bytea类型的字段转换为blob类型
    【openGauss】openGauss中bytea类型的字段转换为blob类型1、查询2、修改表字段例如:表htmlsignature中字段caimg类型为bytea,现在要转换为blob1、查询转换语法:rawout(t.caimg)::text::raw::blob selectrawout(t.caimg)::text::raw::blob,t.*from htmlsignature t 2、......