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编写textarea输入字数限制代码
Mar 23 jQuery
jQuery实现鼠标经过显示动画边框特效
Mar 24 jQuery
jQuery ajax动态生成table功能示例
Jun 14 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
基于jquery的on和click的区别详解
Jan 15 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jQuery实现王者荣耀手风琴效果
Jan 17 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
javascript JSON操作入门实例
2010/04/16 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
Python中SQLite如何使用
2020/05/27 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
学前教育教师求职自荐信
2013/09/22 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
2014离婚协议书范文
2014/09/10 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
校园广播稿范文
2015/08/19 职场文书
浅谈Python魔法方法
2021/06/28 Java/Android