42 # 前端 blob 类型

简介: 42 # 前端 blob 类型

前端的二进制

  • 文件类型 Blob:二进制文件类型
  • input 的 type=file:file 类型,继承于 Blob

前端实现下载功能

实现下载字符串到文件里,需要将字符串包装成二进制类型

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>前端实现下载功能</title>
    </head>
    <body>
        <script>
            let str = "<div><h1>凯小默的博客</h1><span>专注前端领域开发</span></div>";
            // 包装后的文件类型不能直接修改
            const blob = new Blob([str], {
                type: "text/html"
            });
            const a = document.createElement("a");
            a.setAttribute("download", "index.html");
            a.href = URL.createObjectURL(blob);
            a.click();
        </script>
    </body>
</html>

前端实现预览功能

读取二进制中的内容

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>前端实现预览功能</title>
    </head>
    <body>
        <input type="file" id="file" />
        <script>
            file.addEventListener("change", (e) => {
                console.log(e.target.files);
                // 二进制文件类型
                let file = e.target.files[0];
                // 方式一:同步读取
                let img = document.createElement("img");
                let url = URL.createObjectURL(file);
                img.src = url;
                document.body.appendChild(img);
                // 销毁使用
                // URL.revokeObjectURL(url);
                // 方式二:异步读取内容
                let fileReader = new FileReader();
                fileReader.onload = function () {
                    console.log(fileReader.result);
                    let img = document.createElement("img");
                    img.src = fileReader.result;
                    document.body.appendChild(img);
                };
                fileReader.readAsDataURL(file);
            });
        </script>
    </body>
</html>

目录
相关文章
|
1月前
|
前端开发
前端base64转Blob,Blob转文件下载
前端将base64字符串转换为Blob对象,再将Blob对象转换为文件并实现下载。包括处理数据URL和纯base64字符串的情况,并提供了一个辅助函数用于转换。
43 2
|
1月前
|
存储 前端开发 JavaScript
前端基础(十一)_函数声明及调用、函数的形参与实参、arguments参数、函数的参数类型、函数中的问题
本文介绍了JavaScript中函数的声明及调用、形参与实参的概念、arguments对象的使用、函数参数的类型以及函数中this的作用。通过示例代码详细解释了函数如何接收参数、如何处理参数个数不匹配的情况,以及函数在不同上下文中this的指向。
21 1
|
1月前
|
前端开发 小程序 开发者
小程序的前端 display 有什么类型?
【9月更文挑战第4天】小程序的前端 display 有什么类型?
43 4
|
1月前
|
前端开发 小程序 开发者
小程序的前端 display 有什么类型?
【9月更文挑战第1天】小程序的前端 display 有什么类型?
28 2
|
2月前
|
JavaScript 前端开发 开发者
前端掌握 ts 的类型体操
【8月更文挑战第23天】前端掌握 ts 的类型体操
33 4
|
2月前
|
前端开发 Java 数据库
Java系列之 Long类型返回前端精度丢失
这篇文章讨论了Java后端实体类中Long类型数据在传递给前端时出现的精度丢失问题,并提供了通过在实体类字段上添加`@JsonSerialize(using = ToStringSerializer.class)`注解来确保精度的解决方法。
|
2月前
|
数据采集 前端开发 算法
基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库
本文介绍了一个基于Django框架和朴素贝叶斯算法开发的新闻类型预测系统,该系统具备用户登录注册、后台管理、数据展示、新闻分类分布分析、新闻数量排名和新闻标题预测等功能,旨在提高新闻处理效率和个性化推荐服务。
|
3月前
|
前端开发 JavaScript
Vue前端渲染blob二进制对象图片的方法
Vue前端渲染blob二进制对象图片的方法
250 0
|
4月前
|
前端开发 JavaScript 安全
TypeScript作为一种静态类型的JavaScript超集,其强大的类型系统和面向对象编程特性为微前端架构的实现提供了有力的支持
【6月更文挑战第11天】微前端架构借助TypeScript提升开发效率和代码可靠性。 TypeScript提供类型安全,防止微前端间通信出错;智能提示和自动补全加速跨代码库开发;重构支持简化代码更新。通过定义公共接口确保一致性,用TypeScript编写微前端以保证质量。集成到构建流程确保顺利构建打包。在微前端场景中,TypeScript是强有力的语言选择。
45 2
|
5月前
|
JSON JavaScript 前端开发
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户