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 Form轻松实现文件上传
May 24 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
jQuery实现广告条滚动效果
Aug 22 jQuery
jQuery实现锚点向下平滑滚动特效示例
Aug 29 jQuery
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
jQuery pagination分页示例详解
Oct 23 jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 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 中英文语言转换类
2011/09/07 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python实现对一个完整url进行分割的方法
2015/04/29 Python
python装饰器实例大详解
2017/10/25 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
分享vim python缩进等一些配置
2018/07/02 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
python不同系统中打开方法
2020/06/23 Python
Python如何获取文件路径/目录
2020/09/22 Python
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
电子信息专业学生自荐信
2013/11/09 职场文书
个人思想理论学习的自我鉴定
2013/11/30 职场文书
物理专业大学生职业生涯规划书
2014/02/07 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
受伤赔偿协议书
2014/09/24 职场文书
员工自我工作评价
2015/03/06 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server