插件 jQuery.lite uploader.js 中文API文档

🌙
手机阅读
本文目录结构

插件 jQuery.lite uploader.js 中文API文档 https://github.com/burt202/lite-uploader

LiteUploader

npm license Build Status

Examples | Changelog

This is a lightweight library for NodeJS and jQuery, aiming to make uploading files a doddle. With some useful options including basic validation, it is a good choice for any developer who is not so worried about supporting legacy browsers.

Features

  • dependency free
  • file type and size validation
  • support for custom validators
  • hooks for all major events like progress, success, fail etc
  • drag/drop support
  • ability dynamically update the form data packet before each upload
  • upload multiple files as individual requests

NodeJS

npm install lite-uploader --save

Browser

<script src="./src/liteuploader.js"></script>

jQuery is supported but is optional

Options

Name Type Default Description
url String or Function (required) null url that will handle the upload, or a function that resolves with the url
ref String (required) null the request argument name for the file form data. Will fallback to the name property of the file input field if not supplied.
method String POST allows overriding of the default HTTP request method if necessary
rules Object {} object where you can specify validation rules for the files to be uploaded - current supported rules are:
  • allowedFileTypes (list of comma-separated mime-types, wildcards such as image/* are also supported)
  • maxSize (in bytes)
params Object {} object of params to be sent to the server in addition to the files being uploaded
headers Object {} object of headers to be sent to the server
validators Array [] an array of functions that can take a File and return a validation result on it, see examples for usage
singleFileUploads Boolean false set to true to upload each file of a selection using an individual request
withCredentials Boolean false indicates whether requests should be made using credentials such as cookies
beforeRequest Function null delay the file upload request by returning a promise. Recieves the Files and the FormData. Expected to resolve with the FormData to continue. Reject to stop upload.
sendAsFormData Boolean true when set to false and singleFileUploads is true, dont send the file payload as form data. Also any params added via 'addParam' to form data, will be ignored

Events

Name Parameters Description
lu:errors eventName, {errors} triggered when errors are found, including built-in and custom validators - see 'Error Types' section for more
lu:start eventName, {files} triggered before any uploading starts
lu:finish eventName triggered when all uploading has finished
lu:before eventName, {files} triggered before each request to the server
lu:progress eventName, {files, percentage} triggered whilst uploading files
lu:success eventName, {files, response} triggered on a successful request to the server
lu:fail eventName, {xhr} triggered on a failed request to the server
lu:cancelled eventName triggered on upload abort

Error Types

Below is an overview of the built-in error types that can be returned when validating files

  • type - when file mime type does not match any mime types supplied in the rule.allowedFileTypes option
  • size - when file size is above the size (in bytes) supplied in the rule.maxSize option
  • refRequired - when there is no name attribute on the file input and no ‘ref’ options is passed to the plugin
  • urlRequired - when no ‘url’ option is passed to the plugin

Public API

startUpload(files)

Starts the upload

Name Type Default Description
files FileList (optional) null a list of files to be uploaded, takes priority over default mechanism if supplied

addParam(key, value)

Allows parameters to be added after plugin instantiation

Name Type Default Description
key String (required) n/a name of parameter to be added
value String (required) n/a value of parameter to be added

cancelUpload()

Allows the upload to be cancelled, triggers lu:cancelled

Name Type Default Description
No parameters

Browser Support

  • Chrome 45+
  • Firefox 34+
  • Edge 12+
  • Internet Explorer NO (because Promises and Object.assign are used)
  • Safari 9+
  • Opera 32+

License

Licensed under the MIT License.

View the full license here.

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了