当前位置:网站首页>img转base64
img转base64
2022-08-10 17:39:00 【凡小多】
img转base64
一个简单的img地址转base64格式,并可以设置压缩比例以及图片格式
// 参数说明:图片地址(本地或者线上url)、处理后返回的base64内容、指定图片类型
function imgToBase64(url, outputFormat) {
return new Promise((resolve, reject) => {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const img = new Image;
img.crossOrigin = 'Anonymous'; //解决Canvas.toDataURL 图片跨域问题
img.onload = () => {
let width = img.width;
let height = img.height;
// 压缩比例 -- 可以自己修改参数。500px宽度以下原尺寸,大于500px比例处理
let bili = Math.round(width / 500) || 1;
let rate = 1 / bili;
canvas.width = width * rate;
canvas.height = height * rate;
ctx.drawImage(img, 0, 0, width, height, 0, 0, width * rate, height * rate);
let dataURL = canvas.toDataURL(outputFormat || 'image/jpeg');
// 去除标头 -- 传递给后台时一般去除头部
// let reg = new RegExp('^data:image/[^;]+;base64,');
// dataURL = dataURL.replace(reg, '');
canvas = null;
resolve(dataURL);
}
img.src = url;
})
};
// 调用:
imgToBase64("https://img0.bdstatic.com/static/searchdetail/img/logo-2X_2dd9a28.png").then(res => console.log(res))
边栏推荐
- node环境变量配置,npm环境变量配置
- 软链接、硬链接——ln -s 使用
- Toronto Research Chemicals BTK抑制剂丨ACP-5197
- 【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(中)
- 电路板ROHS测试报告怎么办理?电路板ROHS检测流程
- 成为一个优秀的测试工程师需要具备哪些知识和经验?
- JWT 实现登录认证 + Token 自动续期方案
- DASCTF2022.07赋能赛 WEB题目复现
- 直播回顾|多云时代,如何建设企业级云管理平台?(附建设指南下载)
- Your local docbook2man was found to work with SGML rather than XML
猜你喜欢
随机推荐
微信小程序富文本标签rich-text
FFmpeg 从mp4上提取H264的nalu
PS2手柄通讯协议解析—附资料和源码「建议收藏」
文档标题能否支持公式
机器人控制器编程实践指导书旧版-实践四 步进电机(执行器)
机器人控制器编程实践指导书旧版-实践六 LCD液晶显示(点阵)
node环境变量配置,npm环境变量配置
「企业架构」企业架构师,解决方案架构师和软件架构师有何不同
【严重】Nps 鉴权绕过 0day 漏洞
机器人控制器编程实践指导书旧版-实践三 直流电机(执行器)
【燃】是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点
验算移位距离和假设的通用性
R语言patchwork包将多个可视化结果组合起来、plot_annotation函数以及tag_level参数将组合图用大写字母进行顺序编码、为组合图的标签添加自定义后缀信息(suffix)
CAS客户端对接
Toronto Research Chemicals 双(乙酰丙酮)铂(II)
20220810
Return the next higher prime number
Toronto Research Chemicals农药检测丨Naled-d6
讯飞翻译机抢镜背后,跨语种沟通迈入全新时代
const的自己理解









