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 04 jQuery
jQuery树插件zTree使用方法详解
May 02 jQuery
jquery与js实现全选功能的区别
Jun 11 jQuery
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
Sep 20 jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
jquery实现企业定位式导航效果
Jan 01 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
高效jQuery选择器的5个技巧实例分析
Nov 26 jQuery
jQuery实现获取多选框的值示例
Feb 07 jQuery
jquery实现上传图片功能
Jun 29 jQuery
jQuery实现简单评论功能
Aug 19 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 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常用数学函数汇总
2014/11/21 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
vue 移动端适配方案详解
2018/11/15 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
财务方面个人工作的自我评价
2013/12/28 职场文书
中学生自我评价范文
2014/02/08 职场文书
大学生作弊检讨书
2014/02/19 职场文书
六年级小学生评语
2014/12/26 职场文书
2015年大学生工作总结
2015/04/21 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
MySQL数据库简介与基本操作
2022/05/30 MySQL