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 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
jQuery简单绑定单个事件的方法示例
Jun 10 jQuery
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
jquery版轮播图效果和extend扩展
Jul 18 jQuery
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 jQuery
jQuery实现全选、反选和不选功能
Aug 16 jQuery
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
JQuery扩展对象方法操作示例
Aug 21 jQuery
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 jQuery
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 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
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
php读取本地json文件的实例
2018/03/07 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
python中函数传参详解
2016/07/03 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
留学推荐信中文范文三篇
2014/01/25 职场文书
志愿者活动总结报告
2014/06/27 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
跑吧孩子观后感
2015/06/10 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP