The photo is not imported by the user, I have entered the photo manually in the project files and I want to send it to the server after it is blob.
Error: bootstrap:27 Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded
code:
export const ImageBlob = (image) => {
var base64 = image.replace(/^data:image\/(png|jpg|jpeg);base64,/, "");
let mime = 'image/jpeg';
mime = mime || '';
var sliceSize = 1024;
var byteChars = window.atob(base64);
var byteArrays = [];
for (var offset = 0, len = byteChars.length; offset < len; offset += sliceSize) {
var slice = byteChars.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
return new Blob(byteArrays, {type: mime});
}
import file from "../img/user.jpg"
var blob = ImageBlob(file);
const imageFile = new File([blob], 'image.png', blob);