react 动态设置 backgroundImage base64图片不显示bug记录

react 动态设置 backgroundImage base64图片不显示bug记录

问题:图片格式为base64 如 data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...9oADAMBAAIRAxEAPwD/AD/6AP/Z

解决方案

  1. 先把base64里面的空格转义
    	img = img.replace(/\s/g, encodeURIComponent(' '))
    
  2. 使用模板字符串设置backgroundImage
    $0.style.backgroundImage = 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React中将图片转换为Base64格式有多种方法,以下是其中两种常用的方法: 方法一:使用FileReader对象 ```javascript // 创建一个input[file]元素 const inputElement = document.createElement("input"); inputElement.type = "file"; // 监听文件选择事件 inputElement.addEventListener("change", (event) => { const file = event.target.files[0]; const reader = new FileReader(); // 读取文件内容并转换为Base64格式 reader.onloadend = () => { const base64String = reader.result; console.log(base64String); }; reader.readAsDataURL(file); }); // 触发文件选择事件 inputElement.click(); ``` 方法二:使用canvas元素 ```javascript // 创建一个input[file]元素 const inputElement = document.createElement("input"); inputElement.type = "file"; // 监听文件选择事件 inputElement.addEventListener("change", (event) => { const file = event.target.files[0]; const image = new Image(); // 读取文件内容并绘制到canvas上 const reader = new FileReader(); reader.onloadend = () => { image.src = reader.result; }; reader.readAsDataURL(file); // 等待图片加载完成后获取Base64格式的图片数据 image.onload = () => { const canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; const context = canvas.getContext("2d"); context.drawImage(image, 0, 0); const base64String = canvas.toDataURL("image/png"); console.log(base64String); }; }); // 触发文件选择事件 inputElement.click(); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值