图片压缩上传实例

前台图片上传压缩是一种常见的需求,可以通过前端技术实现图片的压缩,减小图片的大小,提高页面加载速度。以下是一个前台图片上传压缩的实例:

  1. 首先,在前端页面中添加一个文件上传的input标签:
复制代码

<input type="file" id="uploadInput">

  1. 使用JavaScript监听文件上传事件,并获取上传的图片文件:
复制代码

var uploadInput = document.getElementById('uploadInput'); uploadInput.addEventListener('change', function() { var file = uploadInput.files[0]; // 处理上传的图片文件 });

  1. 使用HTML5的Canvas元素进行图片压缩:
复制代码

var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var img = new Image(); img.src = URL.createObjectURL(file); img.onload = function() { // 设置canvas的宽高 var maxWidth = 800; var maxHeight = 600; var width = img.width; var height = img.height; if (width > height) { if (width > maxWidth) { height *= maxWidth / width; width = maxWidth; } } else { if (height > maxHeight) { width *= maxHeight / height; height = maxHeight; } } canvas.width = width; canvas.height = height; // 绘制压缩后的图片到canvas ctx.drawImage(img, 0, 0, width, height); // 将canvas转换为DataURL格式的图片数据 var compressedDataUrl = canvas.toDataURL('image/jpeg', 0.8); // 处理压缩后的图片数据 };

  1. 最后,可以将压缩后的图片数据发送到服务器进行保存或其他操作。

这是一个简单的前台图片上传压缩实例,通过使用Canvas元素对图片进行压缩,可以减小图片的大小,提高页面加载速度。

相关推荐
航Hang*7 分钟前
计算机等级考试(二级WPS)---第1章:综合应用基础---第1节:WPS公共功能使用
笔记·学习·wps·计算机二级·计算机等级考试
123_不打狼14 分钟前
自然语言处理(NLP)学习路线
人工智能·学习·自然语言处理
君鼎23 分钟前
计算机网络第七章:网络安全学习总结
学习·计算机网络
●VON30 分钟前
Flutter for OpenHarmony:基于原子清空与用户意图防护的 TodoList 批量删除子系统实现
学习·flutter·架构·跨平台·von
臭东西的学习笔记33 分钟前
论文学习——人类抗体从通用蛋白质语言模型的高效进化
人工智能·学习·语言模型
学工科的皮皮志^_^37 分钟前
以太网PHY芯片学习RTF8211
经验分享·嵌入式硬件·学习·以太网·phy
求真求知的糖葫芦39 分钟前
微波工程2.3节学习笔记(自用)
笔记·学习·射频工程
肉小盾1 小时前
wails + pure-admin(一)
学习
知南x1 小时前
【华为昇腾DVPP/AIPP学习篇】(3) AIPP+DVPP的使用
学习·华为
LYS_06181 小时前
寒假学习(6)(C语言6+模数电6)
c语言·学习·模数电基础