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简介_动力节点Java学院整理
Jul 04 jQuery
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
详解jQuery-each()方法
Mar 13 jQuery
jQuery操作元素追加内容示例
Jan 10 jQuery
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
基于JQuery和DWR实现异步数据传递
Oct 16 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
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
python开发中module模块用法实例分析
2015/11/12 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
python实现拓扑排序的基本教程
2018/03/11 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
楼面部长岗位职责范本
2014/02/14 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
解决mysql的int型主键自增问题
2021/07/15 MySQL
HttpClient实现表单提交上传文件
2022/08/14 Java/Android