最近有个需求,用户在上传图片预览时,需要显示大小为2M以下,大于2M的需要压缩后上传,小于2M的原图显示
一.先说下限制图片大小的好处
- 直接上传特别占用带宽,上传速度慢,对程序考验以及影响用户的体验
- 图片资源直接上传,占用的服务器空间过大,容易造成空间浪费
二.实现思路
只要是借用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文件