@kwiz/common
Version:
KWIZ common utilities and helpers for M365 platform
31 lines • 1.39 kB
JavaScript
;
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