# amos-uploader

> amos uploader

Latest version **1.0.13** (published 2026-03-23) · MIT license · 0 weekly downloads

## Install

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

## Health

**Score 45/100 (D)** — status: stable.

Positive: no vulnerabilities.

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

## Facts

| | |
|---|---|
| Version | 1.0.13 |
| Published | 2026-03-23 |
| First published | 2022-12-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 31 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | ilex.h |
| Maintainers | ilex.h |

## Links

- npm: https://www.npmjs.com/package/amos-uploader
- npm.io page: https://npm.io/package/amos-uploader

## Dependencies (2)

- [amos-icon](https://npm.io/package/amos-icon.md) ^1.x
- [amos-tool](https://npm.io/package/amos-tool.md) ^1.x

## Recent versions

- 1.0.13 (latest) — 2026-03-23
- 1.0.12 — 2022-12-12
- 1.0.9 — 2022-12-12
- 1.0.8 — 2022-12-12
- 1.0.6 — 2022-12-12
- 1.0.5 — 2022-12-12
- 1.0.4 — 2022-12-12
- 1.0.3 — 2022-12-12
- 1.0.2 — 2022-12-12
- 1.0.11 — 2022-12-12
- 1.0.10 — 2022-12-12
- 1.0.1 — 2022-12-12
- 1.0.0 — 2022-12-12

## README

# amos-uploader

---

React Upload

base on 2.3.5

## Development

```bash
npm install
npm start
```

## Example

`http://localhost:8000/examples/`

## install

## Usage

```js
var Upload = require('amos-uploader');
var React = require('react');
React.render(<Upload />, container);
```

## API

### props

| name | type | default | description |
| ----- | --- | -------- | ---- |
| name | string | file | file param post to server |
| style | object | {} | root component inline style |
| className | string | - | root component className |
| disabled | boolean | false | whether disabled |
| component | "div" | "span" | wrap component name |
| supportServerRender | boolean | false | whether to support server render |
| onReady | function | | only call when supportServerRender is true, upload is rendered completely |
| action | string | | form action url |
| data | object/function(file) | | other data object to post or a function which returns a data object |
| headers | object | {} | http headers to post, available in modern browsers |
| accept | string | | input accept attribute |
| multiple | boolean | false | only support ie10+ |
| onStart | function | | start upload file |
| onError | function | | error callback |
| onSuccess | function | | success callback |
| onProgress | function | - | progress callback, only for modern browsers |
| beforeUpload | function | null | before upload check, return false or a rejected Promise will stop upload, only for modern browsers |
| customRequest | function | null | provide an override for the default xhr behavior for additional customization |
| withCredentials | boolean | false | ajax upload with cookie send |
| limitSize | `string or boolean` | 0 | tatol file size limit |
| singleLimitSize | `string or boolean` | 0 | single file size limit |
| inputProps | Object | - | input tag props |

#### onError arguments

1. `err`: request error message
2. `response`: request response, not support on iframeUpload
3. `file`: upload file

### onSuccess arguments

1. `result`: response body
2. `file`: upload file

### customRequest

Allows for advanced customization by overriding default behavior in AjaxUplaoder. Provide your own XMLHttpRequest calls to interface with custom backend processes or interact with AWS S3 service through the aws-sdk-js package.

customRequest callback is passed an object with:

* `onProgress: (event: { percent: number }): void`
* `onError: (event: Error, body?: Object): void`
* `onSuccess: (body: Object): void`
* `data: Object`
* `filename: String`
* `file: File`
* `withCredentials: Boolean`
* `action: String`
* `headers: Object`

### methods

abort(file?: File) => void: abort the uploading file

### IE8/9 Note

#### Download Popup Problem

In iframe uploader way, the content-type of response should be `text/plain` or `text/html`.[referense](https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation)

#### Domain Problem

If the Page set document.domain, then server should output document.domain according to _documentDomain parameter.

```js
var ret = '';
if (postData._documentDomain) {
  ret += '<script>document.domain="'+postData._documentDomain+'";</script>';
}
this.body = ret + '{"url":"xx.jpq"}';
```

## License

amos-upload is released under the MIT license.

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