Coder Social home page Coder Social logo

upload's Introduction

rc-upload


React Upload

NPM version build status Test coverage npm download

Development

npm install
npm start

Example

http://localhost:8020/examples/

online example: http://react-component.github.io/upload/examples/simple.html

Feature

  • support ie8,ie8+,chrome,firefox,safari

install

rc-upload

Usage

var Upload = require('rc-upload');
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" "span"
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

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
  3. xhr: xhr header, only for modern browsers which support AJAX upload. since 2.4.0

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

What's more, in iframe mode, the response's status should always be 200 OK, otherwise you might get an Access is denied error in IE 8/9.

Domain Problem

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

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

License

rc-upload is released under the MIT license.

upload's People

Contributors

afc163 avatar bcho avatar benjycui avatar cht8687 avatar ddcat1115 avatar edgji avatar ivarconr avatar jacek-rzrz avatar jeromemacias avatar jesperwe avatar joybee007 avatar kltk avatar mingelz avatar minwe avatar rickycodes avatar shepherdwind avatar soda-x avatar superraytin avatar xiangkai-xk avatar yesmeck avatar yiminghe avatar zaaack avatar

Watchers

 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.