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中的$(window)与$(document)的用法区别
Aug 15 jQuery
jQuery Layer弹出层传值到父页面的实现代码
Aug 17 jQuery
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
Jquery滑动门/tab切换实现方法完整示例
Jun 05 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
提高php运行速度的一些小技巧分享
2012/07/03 PHP
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程
2020/04/27 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python小项目之五子棋游戏
2019/12/26 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
广州盈通面试题
2015/12/05 面试题
财务会计专业个人求职信范本
2014/01/08 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
体育馆的标语
2014/06/24 职场文书
素质教育学习心得体会
2016/01/19 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript