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.效果展示

相关推荐
Cobyte1 分钟前
10.响应式系统演进:通过位运算优化动态依赖收集(Vue3.2)
前端·javascript·vue.js
IT_陈寒25 分钟前
Java的HashMap竟然不是线程安全的?刚在生产环境踩了坑
前端·人工智能·后端
JarvanMo26 分钟前
再见吧CocoaPods,Swift Package Manager(SPM)即将在Flutter 3.44中成为默认依赖管理器
前端
小则又沐风a33 分钟前
基础的开发工具(2)---Linux
java·linux·前端
yqcoder33 分钟前
JavaScript 事件流:从“捕获”到“冒泡”的完整旅程
服务器·前端·javascript
Csvn44 分钟前
Vue 3 Composition API 深度解析
前端·vue.js
鹏程十八少44 分钟前
11. 2026金三银四 能答对这 29 道题,你的 Android 插件化就算真正通关了
前端·后端·面试
潇凝子潇1 小时前
使用英伟达免费调用多家大模型API
java·前端·javascript
旷世奇才李先生1 小时前
Vue 3\+Vite\+Pinia实战:前端工程化与组件化开发全指南
前端·vue.js
Beginner x_u2 小时前
前端八股整理(手写 01)|Promise 超时控制、红绿灯与 Promise.all
前端·javascript·promise