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判断邮箱格式对错实例代码讲解
Apr 12 jQuery
jQuery实现拖动效果的实例代码
Jun 25 jQuery
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
JavaScript自执行函数和jQuery扩展方法详解
Oct 27 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
jquery使用FormData实现异步上传文件
Oct 25 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 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 simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
PHP 编程安全性小结
2010/01/08 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
JS分页效果示例
2013/10/11 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
bootstrap table小案例
2016/10/21 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
微信小程序生成二维码的示例代码
2019/03/29 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
javascript实现画板功能
2020/04/12 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
盘点提高 Python 代码效率的方法
2014/07/03 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
九年级科学教学反思
2014/01/29 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
奖励通知
2015/04/22 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP