# uploader-browser

> A lightweight and configurable loader plugin, it supports multiple file upload, file filtering, block upload, queue, progress tracking and other support

Latest version **0.0.1** (published 2020-06-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install uploader-browser
pnpm add uploader-browser
yarn add uploader-browser
bun add uploader-browser
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1 |
| Published | 2020-06-07 |
| First published | 2020-06-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 16.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | wu-dada |
| Maintainers | wudada |
| Keywords | fileuploader, upload, chunk, JavaScript, HTML5 |

## Links

- npm: https://www.npmjs.com/package/uploader-browser
- Repository: https://github.com/wu-dada/uploader-browser
- Homepage: https://github.com/wu-dada/uploader-browser#readme
- Issues: https://github.com/wu-dada/uploader-browser/issues
- npm.io page: https://npm.io/package/uploader-browser

## Alternatives

- [@tsparticles/shape-image](https://npm.io/package/@tsparticles/shape-image.md) — 303.7K weekly downloads
- [@tsparticles/shape-line](https://npm.io/package/@tsparticles/shape-line.md) — 233.7K weekly downloads
- [stringify-attributes](https://npm.io/package/stringify-attributes.md) — 58.6K weekly downloads
- [mobile-drag-drop](https://npm.io/package/mobile-drag-drop.md) — 46.3K weekly downloads
- [@comunica/actor-rdf-parse-html](https://npm.io/package/@comunica/actor-rdf-parse-html.md) — 29.2K weekly downloads

## Recent versions

- 0.0.1 (latest) — 2020-06-07

## README

# uploader-browser
A lightweight and configurable loader plugin, it supports multiple file upload, file filtering, block upload, queue, progress tracking and other support

# 多文件分片断点续传

## Constructor

### Uploader(arg)

> 适用于单文件分片断点续传

##### Arguments

- `url:string`：上传接口地址
- `file:File`：上传的文件
- `config`：上传配置
  - `retryCount:number`：上传失败后的重试次数；默认 `3 `（即上传失败后最多重试两次）
  - `concurrentLimit:number`：分片上传的并发请求量，默认为 `3` 
  - `chunkSize:number`：分片的大小，默认 `2 * 1024 * 1024`，等于`2MB`
  - `forceDirect:boolean`：上传强制采用直传方式，默认 `false
- `putExtra`：自定义参数配置
  - `fname:string`：可以覆盖`file[name]`
  - `params:object`：放置自定义参数

##### Properties

- `uuid:string`：实例的唯一ID
- `file:File`：当前文件
- `status:STATUS`：实例状态


##### Methods

- `start()` ：开始上传
- `stop()` ：停止上传，再次执行 `start()` 会继续上传
- `reset()` ：重置断点续传的记录，从分片 `0` 重新上传

##### Events

- `next` ：文件上传时触发。使用此事件来更新当前文件的上传进度。返回值：`Progress`
- `complete` ：成功上传文件时触发。返回值：接口的响应数据
- `error` ：发生错误时触发。返回值：包含错误消息，有时还包含文件和其他详细信息

---

### uploaderMultiple(url,config)

> 适用于多文件分片断点续传

##### Arguments

- `url:string`：上传接口地址
- `config`：上传配置
  - `retryCount:number`：上传失败后的重试次数；默认 `3 `（即上传失败后最多重试两次）
  - `concurrentLimit:number`：分片上传的并发请求量，默认为 `3` 
  - `chunkSize:number`：分片的大小，默认 `2 * 1024 * 1024`，等于`2MB`
  - `forceDirect:boolean`：上传强制采用直传方式，默认 `false

##### Properties

- `files:Array<FileInfo>`：队列

##### Methods

- `addFile(file,putExtra)` ：将文件添加到队列中  
- `getFile(id)` ：通过 `id` 返回指定的文件对象。返回值 `fileInfo`
- `removeFile(id)` ：通过 `id` 删除指定的文件。返回值 `boolean`
- `start()` ：开始队列中的文件
- `stop()` ：停止队列，再次执行 `start()` 会继续按队列处理
- `pause(id)` ：通过 `id` 暂停或继续指定的文件。返回值 `boolean`

##### Events

- `UploadProgress` ：文件上传时触发。使用此事件来更新当前文件的上传进度。返回值：`Progress` 和 `FileInfo`
- `UploadComplete` ：队列中的所有文件处理完时触发。返回值：`Array<FileInfo>`
- `FileUploaded`：成功上传文件时触发。返回值：接口的响应数据和 `FileInfo`
- `FileUploadError`：发生错误时触发。返回值：包含错误消息，有时还包含文件和其他详细信息

---


## interface

##### Progress

- `total:object`：整个文件的上传进度
  - `loaded:number`：已上传的字节
  - `total:number`：总共的字节
  - `percent:number`：百分比，`loaded / total* 100`
- `chunks:Array<total>`：分片的上传进度，以数组方式返回 `total:object` 

##### PutExtra：自定义参数配置

- `fname:string`：可以覆盖`file[name]`
- `params:object`：放置自定义参数

##### FileInfo：文件信息

   - `id:string`：唯一ID
   - `name:string`:：文件名
   - `type:string`:：文件类型
   - `loaded:number`:：已传字节
   - `total:number`:：总字节
   - `percent:number`:：百分比
   - `status:number`:：状态

---
_Source: https://npm.io/package/uploader-browser · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
