Coder Social home page Coder Social logo

feesimple / react-images-uploader-fs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aleksei0807/react-images-uploader

0.0 4.0 0.0 4.58 MB

React.js component for uploading images to the server

License: MIT License

JavaScript 90.58% HTML 0.35% Dockerfile 0.46% Shell 0.21% CSS 8.40%

react-images-uploader-fs's Introduction

React Images Uploader

NPM

React.js component for uploading images to the server

Demo

Examples

Example for multiple images:

import React, { Component } from 'react';
import ImagesUploader from 'react-images-uploader';
import 'react-images-uploader/styles.css';
import 'react-images-uploader/font.css';

export default class MyUploader extends Component {
	render() {
		return (
			<ImagesUploader
				url="http://localhost:9000/multiple"
				optimisticPreviews
				onLoadEnd={(err) => {
					if (err) {
						console.error(err);
					}
				}}
				label="Upload multiple images"
				/>
		);
	}
}

Example for one picture:

import React, { Component } from 'react';
import ImagesUploader from 'react-images-uploader';
import 'react-images-uploader/styles.css';
import 'react-images-uploader/font.css';

export default class MyUploader extends Component {
	render() {
		return (
			<ImagesUploader
				url="http://localhost:9000/notmultiple"
				optimisticPreviews
				multiple={false}
				onLoadEnd={(err) => {
					if (err) {
						console.error(err);
					}
				}}
				label="Upload a picture"
				/>
		);
	}
}

Example server (Node.js, Express)

you need to install cors-prefetch-middleware and images-upload-middleware from npm.

import express from 'express';
import corsPrefetch from 'cors-prefetch-middleware';
import imagesUpload from 'images-upload-middleware';

const app = express();

app.use('/static', express.static('./server/static'));

app.use(corsPrefetch);

app.post('/multiple', imagesUpload(
	'./server/static/multipleFiles',
	'http://localhost:9000/static/multipleFiles',
	true
));

app.post('/notmultiple', imagesUpload(
	'./server/static/files',
	'http://localhost:9000/static/files'
));

app.listen(9000, () => {
	console.log('Listen: 9000');
});

Other servers

Props

  • url: string - server url;

  • classNamespace: string - namespace for all classNames (default: 'iu-');

  • inputId: string - id and name for hidden input type file. Used for htmlFor in label (default: 'filesInput');

  • label: string - label text;

  • images: Array - an array of references to the already uploaded images;

  • disabled: boolean;

  • onLoadStart: function() - callback, which is called when the download starts;

  • onLoadEnd: function(error: { message: string, ... }, response?: JSON)

    Error messages:

    • invalid response type - additional params: response, fileName (imagesUploader);
    • server error - additional params: status (response status), fileName (imagesUploader);
    • exceeded the number - if there is max property and files count > max;
    • file type error - additional params: type (file type), fileName (imagesUploader);
  • deleteImage: function(key: number) - callback which is called when the image has been deleted from the list;

  • clickImage: function(key: number) - callback which is called when the image preview is clicked;

  • optimisticPreviews: boolean - enables optimistic previews default: false;

  • multiple: boolean - allows to upload a bunch of images !default: true!;

  • image: string - this property works only when multiple: false! already loaded picture;

  • notification: string - this property works only with multiple: false! notification text;

  • max: number - the maximum number of pictures for a single upload;

  • color: string - color for text and svg default: '#142434';

  • disabledColor: string - color for text and svg in disabled mode default: '#bec3c7';

  • borderColor: string - border color default: '#a9bac8';

  • disabledBorderColor: string - border color in disabled mode default: '#bec3c7';

  • notificationBgColor: string - background color for notification default: 'rgba(0, 0, 0, 0.3)';

  • notificationColor: string - text and svg color for notification default: '#fafafa';

  • deleteElement: string|element - element for removing images;

  • plusElement: string|element - element for adding images;

classNames: {
	container: string,
	label: string,
	deletePreview: string,
	loadContainer: string,
	dropzone: string,
	pseudobutton: string,
	pseudobuttonContent: string,
	imgPreview: string,
	fileInput: string,
	emptyPreview: string,
	filesInputContainer: string,
	notification: string,
}
styles: {
	container: Object,
	label: Object,
	deletePreview: Object,
	loadContainer: Object,
	dropzone: Object,
	pseudobutton: Object,
	pseudobuttonContent: Object,
	imgPreview: Object,
	fileInput: Object,
	emptyPreview: Object,
	filesInputContainer: Object,
	notification: Object,
}

react-images-uploader-fs's People

Contributors

aleksei0807 avatar eccentricexit avatar lorenzospinelli avatar kirilldanshin avatar skhamoud avatar jediofthecode avatar

Watchers

James Cloos avatar  avatar  avatar JasonLynx 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.