Compare commits

...

2 Commits

Author SHA1 Message Date
victorAnumudu 1aa0fc6016 file upload implementation 2023-06-03 17:20:04 +01:00
ameye 865c61f393 Merge branch 'upload-API' of WrenchBoard/Users-Wrench into master 2023-06-03 12:15:19 +00:00
+38 -3
View File
@@ -95,7 +95,7 @@ function ActiveJobs(props) {
}
// FUNCTION TO SEND FILES
const sendFile = () => {
const sendFile = async () => {
setRequestStatus({loading: true, status: false, message: ''})
if(!filesToSend.length){ // checks if file to send is empty
@@ -109,12 +109,28 @@ function ActiveJobs(props) {
// for(let files of filesToSend){
// reqData.append(files.name, files)
// }
let reqData={file_size: filesToSend[0].size, file_type: 'image/png', file_data: filesToSend[0], msg_type: 'FILE', contract:props.details.contract}
// let reqData={file_size: filesToSend[0].size, file_type: 'image/png', file_data: filesToSend[0], msg_type: 'FILE', contract:props.details.contract}
// for(let files of filesToSend){
// reqData[files.name] = files
// }
const fileToBase64 = async () =>{
try {
const base64String = await convertFileToBase64(filesToSend[0]);
return base64String;
} catch (error) {
return false;
}
}
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'})
@@ -367,3 +383,22 @@ function ActiveJobs(props) {
}
export default ActiveJobs;
function convertFileToBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = () => {
const base64String = reader.result.split(',')[1];
resolve(base64String);
};
reader.onerror = error => {
reject(error);
};
reader.readAsDataURL(file);
});
}