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

相关推荐
90后的晨仔几秒前
Pinia 状态管理原理与实战全解析
前端·vue.js
杰克尼6 分钟前
JavaWeb_p165部门管理
java·开发语言·前端
EndingCoder7 分钟前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
90后的晨仔8 分钟前
Vue3 状态管理完全指南:从响应式 API 到 Pinia
前端·vue.js
90后的晨仔23 分钟前
Vue 内置组件全解析:提升开发效率的五大神器
前端·vue.js
我胡为喜呀26 分钟前
Vue3 中的 watch 和 watchEffect:如何优雅地监听数据变化
前端·javascript·vue.js
我登哥MVP1 小时前
Ajax 详解
java·前端·ajax·javaweb
非凡ghost1 小时前
Typora(跨平台MarkDown编辑器) v1.12.2 中文绿色版
前端·windows·智能手机·编辑器·软件需求
馨谙1 小时前
/dev/null 是什么,有什么用途?
前端·chrome
JamSlade2 小时前
流式响应 sse 系统全流程 react + fastapi为例子
前端·react.js·fastapi