jQuery实现移动端图片上传预览组件的方法分析


Posted in jQuery onMay 01, 2020

本文实例讲述了jQuery实现移动端图片上传预览组件的方法。分享给大家供大家参考,具体如下:

之前的一篇博客:移动端H5图片预览和压缩,实现了基本的功能。这次则计划做成一个组件,可供前台、后台使用。

首先,我们先来捋一捋想要实现的功能:

  • 预览
  • 删除
  • 压缩
  • 上传到服务器

基本机构

这样,我们的组件结构就有了:

;!function(window, $, undefined){
  function Upload() { };

  Upload.prototype.change = function() { };

  Upload.prototype.del = function() { };

  Upload.prototype.compress = function() { };

  Upload.prototype.submit = function() { };

}(window, jQuery)

主要API

接下来,介绍一下组件需要用到的几个API:

  • FileList
````
// 获取上传文件的 FileList
document.getElementById('inputId').files
````
  • window.URL.createObjectURL(file):返回一个关于图片地址url的blob格式
  • createImageBitmap(file):返回一个imageBitmap对象,它包含着文件的相关信息
  • canvas.drawImage(imageBitmap):将图片画在canvas画布上,对图片大小进行缩放
  • canvas.toBlob():转化为blob对象,可以对图片质量进行更改
  • FormData:将上传图片保存在FormData的实例上,上传到服务器

DEMO:https://github.com/CaptainLiao/zujian/tree/master/Upload

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 jQuery
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
jQuery实现切换隐藏与显示同时切换图标功能
Oct 29 jQuery
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
Jan 18 jQuery
jQuery 改变P标签文本值方法
Feb 24 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 jQuery
jquery获取file表单选择文件的路径、名字、大小、类型
Jan 18 jQuery
JQuery animate动画应用示例
May 14 jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
jQuery实现动态加载瀑布流
Sep 01 jQuery
jQuery实现的上拉刷新功能组件示例
May 01 #jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 #jQuery
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 #jQuery
jQuery实现高度灵活的表单验证功能示例【无UI】
Apr 30 #jQuery
jQuery插件simplePagination的使用方法示例
Apr 28 #jQuery
jquery检测上传文件大小示例
Apr 26 #jQuery
jquery实现轮播图特效
Apr 12 #jQuery
You might like
windows xp下安装pear
2006/12/02 PHP
用PHP读取RSS feed的代码
2008/08/01 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
xml转json的js代码
2012/08/28 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
JS如何生成随机验证码
2020/03/02 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
python使用Matplotlib画条形图
2020/03/25 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
J2EE中的容器都包括哪些
2013/08/21 面试题
教师远程培训感言
2014/03/06 职场文书
保证书格式范文
2014/04/28 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
个人剖析材料范文
2014/09/30 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
教师个人学习总结
2015/02/11 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL