Giter Club home page Giter Club logo

bz-uploader's Introduction

bz-uploader

播种网图片上传模块

打包

npm run build

使用

Using Require.js

// 依赖 jQuery 或 Zepto
require(['mod/bz-uploader/0.1.0/bz-uploader'], (Uploader) {
  new Uploader({
    el: '#btn',
    onSuccess: function (url) {
      console.log(url);
    },
    onFinish: function (results) {
      console.log(JSON.stringify(results));
    },
  });
});

// 无依赖,需要自行传入 upload 函数
require(['mod/bz-uploader/0.1.0/bz-uploader-core'], (Uploader) {
  new Uploader({
    el: '#btn',
    onSuccess: function (url) {
      console.log(url);
    },
    onFinish: function (results) {
      console.log(JSON.stringify(results));
    },
    upload: customFunction,
  });
});

Using npm

npm install https://github.com/BozhongFE/bz-uploader#v0.1.0
// 引用方式1:依赖 jQuery 或 Zepto
import Uploader from 'bz-uploader';
// 引用方式2:依赖 axios
import Uploader from 'bz-uploader/dist/bz-uploader-axios.esm';
// 引用方式3:无依赖,需要自行传入 upload 函数
import Uploader from 'bz-uploader/dist/bz-uploader-core.esm';

new Uploader({
  el: '#btn',
  onSuccess(url) {
    console.log(url);
  },
});

配置参数

new Uploader(options)

options

el (string) 必填,绑定上传按钮

api (string) 自定义图片上传接口

auto_rotate (number) 是否自动修正图片旋转问题(有些手机是横竖不一),默认为 1,详细看 upload 接口这个参数

mode (string) 上传模式,single 单张上传,multiple 多张上传 Default: 'single'

isCompress (boolean) 是否压缩图片 Default: false

compressLimit (number) 超过这个大小才进行压缩,单位 kb Default: 600

compressRatio (number) 压缩比例 Default: 0.6

isShowProgress (boolean) 是否显示上传或压缩进度 Default: true

loadingFontSize (string) loading 的默认根字体大小,显示进度时有效 Default: '16px'

imgLimit (number) 限制每次上传张数 Default: 9

watermark (number) 0 不要水印,1 添加水印,孕迹 4.4 及以上版本有效,直接传入 APP 协议 Default: 0

maxFileSize (number) 最大文件大小,单位 kb Default: 3000

debug (boolean) 是否开启 debug 模式 Default: false

message (Function) (message) 消息提示,用于提示给用户的消息,默认为 alert(message)

upload (Function) 自定义图片上传函数,默认用 src/ajax/ajax.js,依赖 jQuery / Zepto

beforeAjax (Function) 每张图片上传前运行的函数

onProgress (Function) (message)

压缩或者上传进度,message 为当前压缩或者上传进度的文本

IE9 及以下版本只有以下几项功能有效

onSuccess (Function) (url, imageIndex)

每一张图片上传成功后的回调,url 为上传后服务器返回的链接,imageIndex 为第几张图片

onError (Function) (errorMessage)

每一张图片上传失败后的回调

onFinish (Function) (results)

全部图片上传完成之后的回调,results 为对象数组格式:

  [
    // 上传成功
    {
      code: 0,
      url: 'http://example.com/example.png',
      msg: 'success'
    },
    // 上传失败
    {
      code: 500, // 500 或其他非 0 数值
      url: '',
      msg: 'Example Error Message'
    }
  ]

onLimit (Function) (origin, current)

上传图片超过限制时触发该函数,origin 为 options.imgLimit,current 为当前剩余可上传张数,默认调用 options.message 提示一条消息

options (Object) 跟图片一起发送给后端的参数 Default: { class: 'user' }

以上没注明必填的项均为可选项。

兼容情况

下表为支持图片上传协议的 APP 内组件参数兼容情况,没写的参数均不支持

参数名 兼容版本
el 全版本
mode 孕迹(iOS / Android)4.4.0 以上
imgLimit 孕迹(iOS / Android)4.4.0 以上
watermark 孕迹(iOS / Android)4.4.0 以上
onFinish 全版本
onLimit 全版本

实例方法

destroy()

销毁上传组件相关 DOM

deleteImage(amount)

删除图片时调用该函数,可以恢复 options.imgLimit 数量,amount 为删除图片的数量

bz-uploader's People

Contributors

unclay avatar 936446507 avatar dependabot[bot] avatar xclazy avatar

Watchers

James Cloos avatar walk-code avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.