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单击文字或图片内容放大并居中显示
Jun 23 jQuery
jQuery上传插件webupload使用方法
Aug 01 jQuery
jQuery Position方法使用和兼容性
Aug 23 jQuery
jQuery EasyUI开发技巧总结
Sep 26 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 jQuery
jQuery实现增删改查
Dec 22 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/07/15 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
js继承实现方法详解
2016/12/16 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
Python的词法分析与语法分析
2013/05/18 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
对Django url的几种使用方式详解
2019/08/06 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Python 多进程原理及实现
2020/12/21 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
财务部副经理岗位职责
2014/03/14 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
公司投资建议书
2014/05/16 职场文书
计算机网络专业求职信
2014/06/05 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
员工辞退通知书
2015/04/17 职场文书