[组件]—— 图片上传预览 组件(移动端)

以前的一篇博客:移动端H5图片预览和压缩,实现了基本的功能。此次则计划作成一个组件,可供前台、后台使用。html

首先,咱们先来捋一捋想要实现的功能:git

  • 预览
  • 删除
  • 压缩
  • 上传到服务器

基本机构

这样,咱们的组件结构就有了:github

;!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:canvas

  • 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/Uploadapi

相关文章
相关标签/搜索