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树插件zTree使用方法详解
May 02 jQuery
jquery.masonry瀑布流效果
May 25 jQuery
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jQuery实现的两种简单弹窗效果示例
Apr 18 jQuery
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
jQuery实现获取多选框的值示例
Feb 07 jQuery
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
jquery实现加载更多"转圈圈"效果(示例代码)
Nov 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
php开发文档 会员收费1期
2012/08/14 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
讲解Python中运算符使用时的优先级
2015/05/14 Python
python实现日常记账本小程序
2018/03/10 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
如何一键升级Python所有包
2020/11/05 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
如何开发一个JQuery插件
2016/07/28 面试题
交通法规咨询中心工作职责
2013/11/27 职场文书
应用心理学专业求职信
2014/08/04 职场文书
MySQL基础(二)
2021/04/05 MySQL
SQL基础的查询语句
2021/11/11 MySQL
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏
Java完整实现记事本代码
2022/06/16 Java/Android