import Upload from '../index'; import axios from 'axios'; export default { render() { const uploaderProps = { props: { action: '//jsonplaceholder.typicode.com/posts/', multiple: false, data: { a: 1, b: 2 }, headers: { Authorization: '$prefix $token', }, customRequest({ action, data, file, filename, headers, onError, onProgress, onSuccess, withCredentials, }) { // EXAMPLE: post form-data with 'axios' const formData = new FormData(); if (data) { Object.keys(data).map(key => { formData.append(key, data[key]); }); } formData.append(filename, file); axios .post(action, formData, { withCredentials, headers, onUploadProgress: ({ total, loaded }) => { onProgress({ percent: Math.round((loaded / total) * 100).toFixed(2) }, file); }, }) .then(({ data: response }) => { onSuccess(response, file); }) .catch(onError); return { abort() { console.log('upload progress is aborted.'); }, }; }, }, on: { start(file) { console.log('start', file, file.name); }, success(file) { console.log('success', file); }, error(err) { console.log('error', err); }, progress({ percent }, file) { console.log('progress', `${percent}%`, file.name); }, }, }; return (
); }, };