vorteil/direktiv

View on GitHub
ui/src/components/FileUpload/utils.ts

Summary

Maintainability
A
0 mins
Test Coverage
/**
 * takes a data url like
 *
 * data:application/json;base64,ewogICAgImNvb2xWaWRlbyI6ICJodHRwczovL3lvdXR1LmJlL29IZzVTSllSSEEwP3NpPXlRLVFLMEE1RlBiSG5rZDgiCn0=
 *
 * and returns an object with mimeType and base64String
 *
 * {
 *   base64String: "ewogICAgImNvb2xWaWRlbyI6ICJodHRwczovL3lvdXR1LmJlL29IZzVTSllSSEEwP3NpPXlRLVFLMEE1RlBiSG5rZDgiCn0=",
 *   mimeType: "application/json",
 * }
 *
 */
export const parseDataUrl = (dataUrl: string) => {
  const dataUrlArr = dataUrl.split(";");
  if (!dataUrlArr[0] || !dataUrlArr[1]) return null;

  const mimeType = dataUrlArr[0].split(":")[1];
  const base64String = dataUrlArr[1].split(",")[1];

  if (!mimeType || !base64String) return null;

  return {
    mimeType,
    base64String,
  };
};