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使用unlock.js插件实现滑动解锁
Apr 04 jQuery
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
jQuery 表单序列化实例代码
Jun 11 jQuery
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
jQuery插件Validation表单验证详解
May 26 jQuery
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
jquery获取input输入框中的值
Nov 13 jQuery
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
jquery插件实现搜索历史
Apr 24 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程序--记数器
2006/10/09 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
使用php实现截取指定长度
2013/08/06 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
python生成九宫格图片
2018/11/19 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
中医药大学市场营销专业自荐信
2013/09/29 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
网络书店创业计划书
2014/02/07 职场文书
闭幕式主持词
2014/04/02 职场文书
计算机软件专业求职信
2014/06/10 职场文书
公司合作意向书范文
2014/07/30 职场文书
学校法制宣传日活动总结
2014/11/01 职场文书