JavaScript原生将图片转成base64

1.写个html文件

html 复制代码
<!-- 产品照片 -->
<div class="mb-3">
<label for="cover" class="form-label">产品图片</label>
    <input
        type="file"
        class="form-control"
        id="coverfile"
    />
</div>

2.写个js文件

说明:

FileReader对象允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File对象指定要读取的文件或数据。

javascript 复制代码
// 产品图片
let cover = "";
//获取coverfile节点
const coverfile=document.querySelector("#coverfile")

coverfile.onchange = function (e) {
  // 创建一个 FileReader 对象,用于读取文件内容。
  let reader = new FileReader();
  //   base64读取
  // 使用 readAsDataURL 方法读取用户选择的文件。e.target.files[0] 表示用户选择的第一个文件。
  reader.readAsDataURL(e.target.files[0]);
  //   加载完成
  // 当文件加载完成后,onload 事件会被触发,执行相应的回调函数。
  reader.onload = function (event) {
    // 表示读取到的所有文件内容,即文件的 base64 编码。
    cover = event.target.result;
  };
};
};

3.效果展示

相关推荐
不爱说话郭德纲13 小时前
我只给了 TRAE Work 一张差评截图,它最后却把自己的 P0 结论推翻了?
前端·后端·架构
张元清13 小时前
React useEvent Hook:告别过期闭包的稳定回调 (2026)
javascript·react.js
用户9385156350713 小时前
从 DOM 编程到声明式 UI:React useRef 与 useState 底层全解析
前端·javascript·react.js
小月土星13 小时前
19.LeetCode 删除链表的倒数第 N 个节点 超详细题解(JS 版)
javascript
kisshyshy13 小时前
前端路由进化史:从刷新白屏到SPA,手写一个Hash路由就懂了!
前端·javascript·react.js
Sterting14 小时前
第 8 节:表单 — 前端校验的第一道防线
前端·javascript
保加利亚的风14 小时前
Docker 学习文档(Mac + Docker Desktop 版)
前端·后端
java1234_小锋14 小时前
Vue3专题 - 条件渲染
前端·javascript·vue.js
明月_清风15 小时前
🚀 AI Agent 完全入门指南:从 LLM 到生产落地,新手必懂的 34 个核心概念
前端·后端·ai编程