图片压缩上传实例

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

  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元素对图片进行压缩,可以减小图片的大小,提高页面加载速度。

相关推荐
华阙之梦11 分钟前
【GIS课堂】
学习
知识分享小能手15 分钟前
MongoDB入门学习教程,从入门到精通,部署MongoDB(24)
数据库·学习·mongodb
m0_7167652325 分钟前
数据结构--循环链表、双向链表的插入、删除、查找详解
开发语言·数据结构·c++·学习·链表·青少年编程·visual studio
南無忘码至尊1 小时前
Unity学习90天 - 第 5 天 - 阶段小项目
学习·unity·c#·游戏引擎
韩楚风1 小时前
PostgreSQL入门与进阶学习,体系化的SQL知识,完成终极目标高可用与容灾,性能优化与架构设计,以及安全策略
sql·学习·postgresql
亚空间仓鼠1 小时前
Python学习日志(四):实例
开发语言·python·学习
sealaugh321 小时前
react native(学习笔记第二课) 英语打卡微应用(1)-开始构建
笔记·学习·react native
夜瞬1 小时前
NLP学习笔记03:文本分类——从 TF-IDF 到 BERT
笔记·学习·自然语言处理
Fanfanaas1 小时前
Linux 系统编程 进程篇 (二)
linux·运维·服务器·c语言·开发语言·学习
克里斯蒂亚诺·罗纳尔达1 小时前
智能体学习22——智能体间通信(A2A)
人工智能·学习·ai