a417980a81
* move allowed MIME types to own util file * add check for safe MIME type before choosing how to upload * check for allowed blob type to decide what component to load * re-add check for safe mimetype * fix bracket positioning
37 lines
769 B
JavaScript
37 lines
769 B
JavaScript
// https://github.com/matrix-org/matrix-react-sdk/blob/cd15e08fc285da42134817cce50de8011809cd53/src/utils/blobs.ts
|
|
export const ALLOWED_BLOB_MIMETYPES = [
|
|
'image/jpeg',
|
|
'image/gif',
|
|
'image/png',
|
|
'image/apng',
|
|
'image/webp',
|
|
'image/avif',
|
|
|
|
'video/mp4',
|
|
'video/webm',
|
|
'video/ogg',
|
|
'video/quicktime',
|
|
|
|
'audio/mp4',
|
|
'audio/webm',
|
|
'audio/aac',
|
|
'audio/mpeg',
|
|
'audio/ogg',
|
|
'audio/wave',
|
|
'audio/wav',
|
|
'audio/x-wav',
|
|
'audio/x-pn-wav',
|
|
'audio/flac',
|
|
'audio/x-flac',
|
|
];
|
|
|
|
export function getBlobSafeMimeType(mimetype) {
|
|
if (!ALLOWED_BLOB_MIMETYPES.includes(mimetype)) {
|
|
return 'application/octet-stream';
|
|
}
|
|
// Required for Chromium browsers
|
|
if (mimetype === 'video/quicktime') {
|
|
return 'video/mp4';
|
|
}
|
|
return mimetype;
|
|
}
|