From d731e85454dca6f6ce824fe704758fae3996d7c9 Mon Sep 17 00:00:00 2001 From: f0x Date: Tue, 14 May 2019 22:58:46 +0200 Subject: [PATCH] file uploading widget --- components/fileUpload.js | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 components/fileUpload.js diff --git a/components/fileUpload.js b/components/fileUpload.js new file mode 100644 index 0000000..3329b89 --- /dev/null +++ b/components/fileUpload.js @@ -0,0 +1,44 @@ +'use strict' +const React = require('react') +const ReactDOM = require('react-dom') +const create = require('create-react-class') + +let fileUpload = create({ + displayName: "FileUpload", + + setFileRef: function(e) { + if (e != null) { + e.addEventListener('change', this.startUpload) + this.setState({ + fileRef: e + }) + } + }, + + startUpload: function(e) { + Array.from(e.target.files).forEach((file) => { + if (file.type.startsWith("image/")) { + let reader = new FileReader() + reader.onloadend = () => { + let file = { + file: file, + preview: reader.result + } + this.props.addUpload(file) + } + reader.readAsDataURL(file) + } + }) + }, + + render: function() { + return ( +
+ + +
+ ) + } +}) + +module.exports = fileUpload