UNPKG

@kwiz/common

Version:

KWIZ common utilities and helpers for M365 platform

31 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.imageToBase64 = void 0; const base64_1 = require("../helpers/base64"); const typecheckers_1 = require("../helpers/typecheckers"); const rest_1 = require("./rest"); const file_folder_1 = require("./sharepoint.rest/file.folder"); /** if the file is in SharePoint, provide a siteRelativeUrl so that we can get the file value via REST api to avoid CORS error when accessing a file on the site from within the app web */ async function imageToBase64(imageSrc, siteRelativeUrl) { try { let fileBlob = null; if (!(0, typecheckers_1.isNullOrEmptyString)(siteRelativeUrl) && imageSrc.toLowerCase().indexOf(siteRelativeUrl.toLowerCase()) >= 0) { let spFile = await (0, file_folder_1.GetFile)(siteRelativeUrl, imageSrc, true, "blob"); if (spFile && spFile.Exists) fileBlob = spFile.Content; } //try simple rest if the first option failed if (fileBlob === null) { fileBlob = await (0, rest_1.GetJson)(imageSrc, null, { responseType: "blob", allowCache: true }); } if (fileBlob) { let base64 = await (0, base64_1.blobToBase64)(fileBlob); return base64; } } catch (e) { } return null; } exports.imageToBase64 = imageToBase64; //# sourceMappingURL=base64.js.map