UNPKG

@churchapps/apphelper

Version:

Library of helper functions for React and NextJS ChurchApps

29 lines 1.16 kB
import axios from "axios"; export class FileHelper { static dataURLtoBlob(dataurl) { const arr = dataurl.split(","), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]); let n = bstr.length; const u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new Blob([u8arr], { type: mime }); } } FileHelper.postPresignedFile = (presigned, uploadedFile, progressCallback) => { const formData = new FormData(); //formData.append("key", presigned.key); //no longer needed with new aws sdk formData.append("acl", "public-read"); formData.append("Content-Type", uploadedFile.type); for (const property in presigned.fields) formData.append(property, presigned.fields[property]); formData.append("file", uploadedFile); const axiosConfig = { headers: { "Content-Type": "multipart/form-data" }, onUploadProgress: (data) => { progressCallback(Math.round((100 * data.loaded) / data.total)); } }; return axios.post(presigned.url, formData, axiosConfig); }; //# sourceMappingURL=FileHelper.js.map