IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> js base64文件的处理 base64类型的资源数据 Data URI scheme -> 正文阅读

[JavaScript知识库]js base64文件的处理 base64类型的资源数据 Data URI scheme

许多网站可能有图片,当查看源代码时发现:

代码为:

<!--  一张×号图片:-->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAAA3NCSVQICAjb4U/gAAAABlBMVEX///+ZmZmOUEqyAAAAAnRSTlMA/1uRIrUAAAAJcEhZcwAACusAAArrAYKLDVoAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDkvMjAvMTIGkKG+AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAAB1JREFUCJljONjA8LiBoZyBwY6BQQZMAtlAkYMNAF1fBs/zPvcnAAAAAElFTkSuQmCC" />

这是把图像文件的内容直接写在了HTML 文件中,这样作的好处是,节省了一个HTTP 请求。坏处是浏览器不会缓存这种图像。

可以使用在线的转化工具进行尝试:

转换工具https://www.css-js.com/tools/base64.htmlhttps://www.zhangxinxu.com/sp/base64.html

除了图片还可以其他文件

标志格式
data:文本数据
data:text/plain文本数据
data:text/htmlHTML代码
data:text/html;base64base64编码的HTML代码
data:text/cssCSS代码
data:text/css;base64base64编码的CSS代码
data:text/javascriptJavascript代码
data:text/javascript;base64base64编码的Javascript代码
data:image/gif;base64base64编码的gif图片数据
data:image/png;base64base64编码的png图片数据
data:image/jpeg;base64base64编码的jpeg图片数据
data:image/x-icon;base64base64编码的icon图片数据

尝试将图片嵌入到代码中

以下方法均会报错 Access CORS,对于情况2可设置本地服务器

以file://协议方案开头的本地文件 URL(如file:///D:/Work/……/test.html)从 Web 浏览器打开 Html 文件时,它会显示错误消息Access CORS 策略已阻止从原点“null”到……的脚本
<div align="center"><img src="conv.txt " /></div>
  1. 使用xhr.open('GET', name, true);
# https://www.cnblogs.com/xingfeng-cool/articles/14715522.html
function load(name) {
    let xhr = new XMLHttpRequest(),
        okStatus = document.location.protocol === "file:" ? 0 : 200;
    xhr.open('GET', name, false);
    xhr.overrideMimeType("text/html;charset=utf-8");//默认为utf-8
    xhr.send(null);
    return xhr.status === okStatus ? xhr.responseText : null;
}
 
let text = load("文件名.txt")
console.log(text); 

或者将数据嵌入到js脚本中返回再显示

function load(name) {
    let txt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAAA3NCSVQICAjb4U/gAAAABlBMVEX///+ZmZmOUEqyAAAAAnRSTlMA/1uRIrUAAAAJcEhZcwAACusAAArrAYKLDVoAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDkvMjAvMTIGkKG+AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAAB1JREFUCJljONjA8LiBoZyBwY6BQQZMAtlAkYMNAF1fBs/zPvcnAAAAAElFTkSuQmCC";
    return txt;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="test.js"></script>
    <script>
        let = load("")
        console.log(let)
        document.write("<img src='"+let+"' />");
    </script>
</head>
<body>
    
</body>
</html>

使用Jquery实现编码

https://github.com/beatgammit/base64-js

<script src="base64js.min.js"></script>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:09:15  更:2022-05-05 11:11:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:12:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码