implemented multi file upload
This commit was merged in pull request #137.
This commit is contained in:
@@ -96,57 +96,54 @@ function ActiveJobs(props) {
|
|||||||
|
|
||||||
// FUNCTION TO SEND FILES
|
// FUNCTION TO SEND FILES
|
||||||
const sendFile = async () => {
|
const sendFile = async () => {
|
||||||
setRequestStatus({loading: true, status: false, message: ''})
|
setRequestStatus({loading: true, status: false, message: ''})
|
||||||
|
|
||||||
if(!filesToSend.length){ // checks if file to send is empty
|
if(!filesToSend.length){ // checks if file to send is empty
|
||||||
setRequestStatus({loading: false, status: false, message: 'No File(s) selected'})
|
setRequestStatus({loading: false, status: false, message: 'No File(s) selected'})
|
||||||
return setTimeout(()=>{
|
return setTimeout(()=>{
|
||||||
setRequestStatus({loading: false, status: false, message: ''})
|
setRequestStatus({loading: false, status: false, message: ''})
|
||||||
}, 5000)
|
}, 5000)
|
||||||
}
|
}
|
||||||
// let reqData = new FormData()
|
|
||||||
|
for(let i=0; i<=filesToSend.length-1; i++){ // Loops through files to send array and trigger upload API call
|
||||||
|
|
||||||
|
const fileToBase64 = async () =>{ // Converts file data to base64 string
|
||||||
|
try {
|
||||||
|
const base64String = await convertFileToBase64(filesToSend[i]);
|
||||||
|
return base64String;
|
||||||
|
} catch (error) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if(await !fileToBase64()){
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
|
||||||
|
let reqData={file_name: filesToSend[i].name, file_size: filesToSend[i].size, file_type: 'image/png', file_data: await fileToBase64(), msg_type: 'FILE', contract:props.details.contract}
|
||||||
|
|
||||||
// for(let files of filesToSend){
|
ApiCall.sendFiles(reqData).then((res)=>{
|
||||||
// reqData.append(files.name, files)
|
// if(res.status != 200 || res.data.internal_return < 0){
|
||||||
// }
|
// setRequestStatus({loading: false, status: false, message: 'Files(s) could not be sent, try again later'})
|
||||||
// let reqData={file_size: filesToSend[0].size, file_type: 'image/png', file_data: filesToSend[0], msg_type: 'FILE', contract:props.details.contract}
|
// return
|
||||||
|
// }
|
||||||
// for(let files of filesToSend){
|
// setRequestStatus({loading: false, status: true, message: 'File(s) Uploaded Successfully'})
|
||||||
// reqData[files.name] = files
|
// props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD
|
||||||
// }
|
// setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY
|
||||||
|
}).catch(error => {
|
||||||
const fileToBase64 = async () =>{
|
// setRequestStatus({loading: false, status: false, message: 'Opps! something went wrong'})
|
||||||
try {
|
}).finally(()=>{
|
||||||
const base64String = await convertFileToBase64(filesToSend[0]);
|
if(i==filesToSend.length-1){
|
||||||
return base64String;
|
setRequestStatus({loading: false, status: true, message: 'File(s) Uploaded Successfully'})
|
||||||
} catch (error) {
|
setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY
|
||||||
return false;
|
props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD
|
||||||
}
|
setTimeout(()=>{
|
||||||
}
|
setRequestStatus({loading: false, status: false, message: ''})
|
||||||
|
}, 5000)
|
||||||
if(await !fileToBase64()){
|
}
|
||||||
return
|
})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
let reqData={file_name: filesToSend[0].name, file_size: filesToSend[0].size, file_type: 'image/png', file_data: await fileToBase64(), msg_type: 'FILE', contract:props.details.contract}
|
|
||||||
|
|
||||||
console.log(reqData)
|
|
||||||
ApiCall.sendFiles(reqData).then((res)=>{
|
|
||||||
if(res.status != 200 || res.data.internal_return < 0){
|
|
||||||
setRequestStatus({loading: false, status: false, message: 'Files(s) could not be sent, try again later'})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
setRequestStatus({loading: false, status: true, message: 'File(s) Uploaded Successfully'})
|
|
||||||
props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD
|
|
||||||
setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY
|
|
||||||
}).catch(error => {
|
|
||||||
setRequestStatus({loading: false, status: false, message: 'Opps! something went wrong'})
|
|
||||||
}).finally(()=>{
|
|
||||||
setTimeout(()=>{
|
|
||||||
setRequestStatus({loading: false, status: false, message: ''})
|
|
||||||
}, 5000)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
|
|||||||
Reference in New Issue
Block a user