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

相关推荐
Dovis(誓平步青云)12 小时前
拖动关键帧角色就抽动,动画编辑器怎样补齐中间状态
开发语言·前端·javascript·机器学习·编辑器
lpfasd12312 小时前
pywebview与Electron
前端·javascript·electron
行走的陀螺仪12 小时前
Claude Code 从入门到实战(一):安装、登录与第一个Vue项目
前端·javascript·vue.js
梦曦i12 小时前
0.8.2 新增 backFallback 配置,无 tabbar 页返回无忧
前端·uni-app x
vipxieliang13 小时前
解构赋值与展开运算符:现代 JS 提效技巧
javascript
Amos_Web13 小时前
Rspack 源码解析(三十四):rspack_hook 与宏系统如何用过程宏生成异步 Hook 与插件
前端
恋猫de小郭13 小时前
感人,Flutter 居然有了一个超实用提案,期待落地
android·前端·flutter
wordbaby13 小时前
为什么 Apifox 能调通,浏览器却报跨域?一次“CORS Error + 403”联调排坑实录
前端
2603_9658966213 小时前
JavaScript 原型与原型链
开发语言·前端·javascript
Amos_Web13 小时前
通过 Rspack 源码学 Rust(四):用 `Option<T>` 表达“查询可能没有结果”
前端