前端js实现上传图片大于2M时压缩,预览

本文介绍了如何在前端通过JS实现图片上传预览时,自动判断图片大小。若图片大于2M,则使用canvas进行压缩;小于2M则直接展示原图。这样做能节省带宽,提高上传速度,避免服务器空间浪费。文章提供了HTML、CSS和JS的实现代码,并提及该方案仅适用于IE10及以上浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个需求,用户在上传图片预览时,需要显示大小为2M以下,大于2M的需要压缩后上传,小于2M的原图显示


一.先说下限制图片大小的好处

  1. 直接上传特别占用带宽,上传速度慢,对程序考验以及影响用户的体验
  2. 图片资源直接上传,占用的服务器空间过大,容易造成空间浪费

 二.实现思路

只要是借用canvas和FileReader函数,以下是代码,其中添加了需求,大于2M的图片才进行压缩,小于的原图显示

html文件

 <div class="container">
        <div class="row">
            <div class="col-lg-12">
                <div class="ImgDemoContainer">
                    <div class="form-group">
                        <input type="file" class="form-control" id="upload" name="image"/>
                    </div>
                    <div id="previewImg">
                        <img src="" id="viewImg">
                    </div>
                </div>
            </div>
        </div>
    </div>

css文件


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值