owncast/web/utils/images.ts
André Rusakow 05c8ce223b
Filesize limit for logoupload (#2522)
* add readable byts helper function

* adjust wording for logo upload

* limit file size to 2 MB

* remove log

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2022-12-28 15:41:49 -08:00

19 lines
704 B
TypeScript

import { RcFile } from 'antd/lib/upload';
export const MAX_IMAGE_FILESIZE = 2097152;
export const ACCEPTED_IMAGE_TYPES = ['image/png', 'image/jpeg', 'image/gif'];
export function getBase64(img: File | Blob, callback: (imageUrl: string | ArrayBuffer) => void) {
const reader = new FileReader();
reader.addEventListener('load', () => callback(reader.result));
reader.readAsDataURL(img);
}
export function readableBytes(bytes: number): string {
const index = Math.floor(Math.log(bytes) / Math.log(1024));
const SIZE_UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
const size = Number((bytes / Math.pow(1024, index)).toFixed(2)) * 1;
return `${size} ${SIZE_UNITS[index]}`;
}