前端中blob文件流和base64的区别

2023-09-20 14:13:39

在前端中,base64 和 fileBlob 是用于处理文件数据的两种不同方式。

1. Base64 编码

 Base64 是一种将二进制数据转换为文本字符串的编码方式。它将文件数据转换为一串由 ASCII 字符组成的字符串。在前端中,可以使用 JavaScript 的 btoa() 和 atob() 函数来进行 Base64 编码和解码。

优点: - Base64 编码后的数据可以直接嵌入到文本中,例如在 HTML 或 CSS 中使用。

           - 可以通过 URL 参数传递,而不需要使用特殊的文件上传方法。

缺点: - Base64 编码会使数据增大约 33%。因为它将每个 8 位的数据转换为由 6 位字符组成的字符串,导致数据量增加。

- 在处理大型文件时,Base64 编码的字符串会变得非常长,并且会占用更多的内存。

2. File Blob 对象

 File Blob 是一种表示文件数据的 JavaScript 对象。它可以通过文件输入元素或通过 XMLHttpRequest 从服务器获取文件数据。

优点: - File Blob 对象保留了文件的原始二进制数据,不需要进行编码或解码操作。 - 可以直接将 File Blob 对象传递给其他 API 进行处理,例如进行文件上传或进行图像处理。

缺点: - File Blob 对象不能直接嵌入到文本中,需要使用其他方式来传递或处理。

         - 在处理文件上传时,需要使用特定的文件上传方法,例如 FormData 或 XMLHttpRequest。

综上所述,Base64 编码适用于将文件数据嵌入到文本中或通过 URL 参数传递。而 File Blob 对象适用于直接处理文件数据或进行文件上传操作。选择使用哪种方式取决于具体的需求和场景。

更多推荐

DVWA靶机,通过XSS盗取cookie登录

文章目录一发现XSS漏洞1.1登录DVWA,找到XSS(DOM)模块,测试XSS是否存在。1.2在选项的传参后面加入一串js代码,也就是可以XSS弹出的代码。payload如下:二、盗取cookie2.1在XSS平台上搭建一个测试项目。这里用的是免费的XSS平台:选择【我的项目】->【创建】,创建一个测试项目:2.2配

Java高级-注解

注解1.介绍2.元注解3.注解的解析4.注解的应用场景1.介绍注解Annotation就是Java代码里的特殊标记,作用是让其他程序根据注解信息来决定什么是执行该程序注解:注解可以在类上、构造器上、方法上、成员变量上、参数上等位置自定义注解/***自定义注解*/public@interfaceMyTest1{Strin

IntelliJ IDEA 2023.2 最新版如何激活?IntelliJ IDEA 2023.2最新版激活方法及验证ja-netfilter配置成功提示

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

SpringBoot +MyBatis批量插入数据

💍背景介绍在最近的开发过程中,遇到了往数据库中表中插入大量的数据。有一个全国银行各分行的信息,共计148032条数据文件有8.45MB,因为考虑到数据量比较大,就想着导入到MySQL看一看需要多长时间。💍方案一:用for语句循环插入(不推荐)使用for循环语句将,将数据一条条插入。insertintot_bankv

【LeetCode-面试经典150题-day25】

目录530.二叉搜索树的最小绝对差230.二叉搜索树中第K小的元素98.验证二叉搜索树530.二叉搜索树的最小绝对差题意:给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。树中节点的数目范围是[2,100]0<=Node.val<=105【输入样例】

React+Typescript项目环境中搭建并使用redux环境

前几篇文章我们的项目已经开始功能渐渐完善了那么我们来说最后一个点redux这个并不需要我们多努力其实官方文档给到已经算是很全面了我们可以直接访问地址TypeScript中文手册中文手册和官方是一样的而且对我们非常友好我们会在左侧导航栏中找到一个React点进去进入之后一直往下翻我们就可以看到Redux部分我们直接用他这

9.子数组统计问题

文章目录子数组计数问题[560.和为K的子数组](https://leetcode.cn/problems/subarray-sum-equals-k/)[974.和可被K整除的子数组](https://leetcode.cn/problems/subarray-sums-divisible-by-k/)[523.连续

C#实战:基于腾讯OCR技术实现企业证书识别和数据提取实践

一、OCR技术介绍在当今数字化时代,OCR(OpticalCharacterRecognition)识别技术正发挥着越来越重要的作用。OCR技术通过将图像中的文字转化为可编辑的文本形式,实现了对大量纸质文档的数字化处理和信息提取。常见的有企业资质证书的识别到身份证、护照等各类证件的自动识别等方面,OCR技术正在为各行各

macOS Big Sur:探索新设计,聚焦新体验

自苹果公司推出macOSBigSur以来,这一新版操作系统以其突破性的设计刷新了我们对Mac的认知。本文将详细介绍macOSBigSur的各项新功能及其为用户带来的卓越体验。安装:macOSBigSur(macos11)v11.7.10正式版一、全新设计:导览更轻松,控制更随心macOSBigSur对用户界面进行了全面

ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段

ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段有一段Json字符串:{"code":200,"message":"success","data":{"total":"1","list":[{"question_no":"21520

键盘失灵按什么键恢复?详细方法分享!

“我的电脑键盘莫名其妙失灵了,试了好多方法都无法恢复。请问遇到键盘失灵的情况,应该按什么键才能恢复呢?”键盘是计算机的重要输入设备之一,但有时候它可能会出现失灵的情况,让用户感到困惑和不知所措。但其实,解决该问题并不是很困难。键盘失灵按什么键恢复呢?别着急!继续往下看吧!小编给大家总结了详细的解决方法!键盘失灵的常见原

热文推荐