uploadable file
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import React from 'react';
|
||||
import React, {BaseSyntheticEvent, useState} from 'react';
|
||||
import style from './MovieSettings.module.css';
|
||||
import {APINode, callAPI} from '../../utils/Api';
|
||||
import {GeneralSuccess} from '../../types/GeneralTypes';
|
||||
@ -123,6 +123,7 @@ class MovieSettings extends React.Component<Props, state> {
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<FileHandler />
|
||||
</>
|
||||
);
|
||||
}
|
||||
@ -162,3 +163,47 @@ class MovieSettings extends React.Component<Props, state> {
|
||||
}
|
||||
|
||||
export default MovieSettings;
|
||||
|
||||
const FileHandler = (): JSX.Element => {
|
||||
const [file, setfile] = useState<File | null>(null);
|
||||
|
||||
const uploadFile = (): void => {
|
||||
let xhr = new XMLHttpRequest(); // create XMLHttpRequest
|
||||
let data = new FormData(); // create formData object
|
||||
if (!file) {
|
||||
return;
|
||||
}
|
||||
data.append('file', file);
|
||||
|
||||
xhr.onload = function (): void {
|
||||
console.log(this.responseText); // whatever the server returns
|
||||
};
|
||||
|
||||
xhr.upload.onprogress = function (e): void {
|
||||
console.log(e.loaded / e.total);
|
||||
};
|
||||
|
||||
xhr.open('post', '/api/video/fileupload'); // open connection
|
||||
xhr.setRequestHeader('Accept', 'multipart/form-data');
|
||||
|
||||
xhr.send(data); // send data
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={{backgroundColor: 'white'}}>
|
||||
<input
|
||||
onChange={(e: BaseSyntheticEvent): void => {
|
||||
console.log(e);
|
||||
if (e.target) {
|
||||
console.log(e.target.files[0]);
|
||||
setfile(e.target.files[0]);
|
||||
// setfile(e.target.files[0]);
|
||||
}
|
||||
}}
|
||||
type='file'
|
||||
name='Select file to upload'
|
||||
/>
|
||||
<button onClick={(): void => uploadFile()}>upload</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
Reference in New Issue
Block a user