本文实例讲述了jQuery实现移动端图片上传预览组件的方法。分享给大家供大家参考,具体如下:之前的一篇博客:移动端H5图片预览和压缩,实现了基本的功能。这次则计划做成一个组件,可供前台、后台使用。移动端H5图片预览和压缩首先,我们先来捋一捋想要实现的功能:

预览

删除

压缩

上传到服务器
预览删除压缩上传到服务器基本机构这样,我们的组件结构就有了:
;!function(window, $, undefined){

function Upload() { };


Upload.prototype.change = function() { };


Upload.prototype.del = function() { };


Upload.prototype.compress = function() { };


Upload.prototype.submit = function() { };

}(window, jQuery)

;!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
````
// 获取上传文件的 FileList
document.getElementById('inputId').files
````

````
// 获取上传文件的 FileList
document.getElementById('inputId').files
````


window.URL.createObjectURL(file):返回一个关于图片地址url的blob格式

createImageBitmap(file):返回一个imageBitmap对象,它包含着文件的相关信息

canvas.drawImage(imageBitmap):将图片画在canvas画布上,对图片大小进行缩放

canvas.toBlob():转化为blob对象,可以对图片质量进行更改

FormData:将上传图片保存在FormData的实例上,上传到服务器
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/Uploadhttps://github.com/CaptainLiao/zujian/tree/master/Upload关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery切换特效与技巧总结》、《jQuery遍历算法与技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》jQuery扩展技巧总结jQuery常用插件及用法总结jQuery切换特效与技巧总结jQuery遍历算法与技巧总结jQuery常见经典特效汇总jQuery动画与特效用法总结jquery选择器用法总结希望本文所述对大家jQuery程序设计有所帮助。