使用readAsDataURL过程中遇到的问题

项目场景:

用户头像编辑: 需要用户从本地选择图片后, 能在本地预览和简单编辑图片


问题描述

使用的readAsDataURL生成图片的本地预览地址。用户选择小图片时还好,一旦超过5M, 选择后会卡一下,后面的简单编辑(使用了图片的css属性clip)更是卡的不行

getImgSize(imgFile) {
   
  return new Promise((resolve, reject) => {
   
    let reader = new FileReader();
    reader.readAsDataURL(imgFile);
    reader.onload = 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`readAsDataURL` 是 JavaScript File API 的一个方法,可用于将文件读取为数据 URL。它可以用于在浏览器预览图像文件或将文件转换为 base64 编码的字符串。 使用 `readAsDataURL` 方法需要创建一个 `FileReader` 对象,并将要读取的文件传递给它。然后,通过监听 `FileReader` 对象的 `onload` 事件,在事件处理函数可以获取到读取的数据 URL。 以下是一个简单的示例代码: ```javascript function handleFileSelect(event) { var file = event.target.files[0]; var reader = new FileReader(); reader.onload = function(e) { var dataURL = reader.result; console.log(dataURL); // 在这里可以对数据 URL 进行进一步处理 }; reader.readAsDataURL(file); } var fileInput = document.getElementById('fileInput'); fileInput.addEventListener('change', handleFileSelect, false); ``` 在上面的示例,我们创建了一个文件输入元素(id 为 "fileInput"),当用户选择文件后,会触发 `change` 事件,然后调用 `handleFileSelect` 函数来处理选的文件。在 `handleFileSelect` 函数,我们创建了一个 `FileReader` 对象并将文件传递给它,然后监听 `onload` 事件,在事件处理函数获取到读取的数据 URL。 请注意,由于安全性限制,浏览器可能会阻止在有用户交互的情况下自动触发文件选择操作(例如使用 JavaScript)。因此,通常需要通过用户手动选择文件来触发 `handleFileSelect` 函数。 希望这可以回答您的问题!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值