From 07a443d082445bab40cd121b3708804b9a0d382a Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Wed, 9 Aug 2023 20:28:19 +0100 Subject: [PATCH] file upload size validation initiated --- src/components/UploadProduct/index.jsx | 43 ++++++++++++++++++-------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/src/components/UploadProduct/index.jsx b/src/components/UploadProduct/index.jsx index 2590ae4..0e1893e 100644 --- a/src/components/UploadProduct/index.jsx +++ b/src/components/UploadProduct/index.jsx @@ -147,21 +147,20 @@ export default function UploadProduct({uploadTypes}) { action: 11307 } - if(!isValidFile(reqData.file_type, uploadTypes?.data)){ // FUNCTION TO CHECK IF FILE TYPE IS VALID + if(!isValidFile(imgDetails, uploadTypes?.data)){ // FUNCTION TO CHECK IF FILE TYPE IS VALID setRequestStatus({loading: false, status: null, message: 'File type not supported'}) return setTimeout(()=>{ setRequestStatus({loading: false, status: false, message: ''}) },5000) } - - if(imgDetails.size > 2097152){ // CHECKS IF IMAGE SIZE IS MORE THAN "MB" - setRequestStatus({loading: false, status: null, message: 'Image must be less than 2MB'}) - return setTimeout(()=>{ - setRequestStatus({loading: false, status: false, message: ''}) - },5000) - } - // console.log('TESTING',isValidFile(reqData.file_type, uploadTypes?.data)) - // console.log('TESTING', reqData) + + // let validSize = isValidFileSize(imgDetails, uploadTypes?.data) // FUNCTION TO CHECK IF FILE SIZE IS VALID + // if(!validSize.status){ + // setRequestStatus({loading: false, status: null, message: validSize.message}) + // return setTimeout(()=>{ + // setRequestStatus({loading: false, status: false, message: ''}) + // },5000) + // } //API CALL TO UPLOAD COMES HERE setRequestStatus({loading: true, status: null, message: ''}) // SETS REQUEST LOADING TRUE @@ -430,7 +429,7 @@ export default function UploadProduct({uploadTypes}) {
{/* heading */} -
+

Item Privew

@@ -582,9 +581,9 @@ export default function UploadProduct({uploadTypes}) { //FUNCTIONS to check if file upload type is valid const isValidFile = (file, supportedFile=[]) => { - let fileToCheck = file.split("/")[1] + let fileType = file.type.split("/")[1]; let valid = supportedFile.filter(item => ( - item.name.toLowerCase() == fileToCheck.toLowerCase() + item.name.toLowerCase() == fileType.toLowerCase() )) if(valid.length){ return true @@ -592,3 +591,21 @@ const isValidFile = (file, supportedFile=[]) => { return false } } + +//FUNCTIONS TO CHECK IF FILE SIZE IS VALID +const isValidFileSize = (file, supportedFile=[]) => { + let fileType = file.type.split("/")[1]; + let fileSize = file.size; + let valid = supportedFile.filter(item => ( + item.name.toLowerCase() == fileType.toLowerCase() + )) + if(valid.length){ + if((Number(valid[0].max_size_mb) * 1048576) >= fileSize){ + return {status: true} + }else{ + return {status: false, message: `File must not exceed ${valid[0].max_size_mb}MB`} + } + }else{ + return false + } +} -- 2.34.1