You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
/*
|
|
|
|
* https://github.com/morethanwords/tweb
|
|
|
|
* Copyright (C) 2019-2021 Eduard Kuzmenko
|
|
|
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE
|
|
|
|
*
|
|
|
|
* Originally from:
|
|
|
|
* https://github.com/zhukov/webogram
|
|
|
|
* Copyright (C) 2014 Igor Zhukov <igor.beatle@gmail.com>
|
|
|
|
* https://github.com/zhukov/webogram/blob/master/LICENSE
|
|
|
|
*/
|
|
|
|
|
|
|
|
// https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
|
|
export default function blobSafeMimeType(mimeType: string) {
|
|
|
|
if([
|
|
|
|
'image/jpeg',
|
|
|
|
'image/png',
|
|
|
|
'image/gif',
|
|
|
|
'image/svg+xml',
|
|
|
|
'image/webp',
|
|
|
|
'image/bmp',
|
|
|
|
'video/mp4',
|
|
|
|
'video/webm',
|
|
|
|
'video/quicktime',
|
|
|
|
'audio/ogg',
|
|
|
|
'audio/mpeg',
|
|
|
|
'audio/mp4',
|
|
|
|
'audio/wav', // though it is not in list
|
|
|
|
'application/json',
|
|
|
|
'application/pdf'
|
|
|
|
].indexOf(mimeType) === -1) {
|
|
|
|
return 'application/octet-stream';
|
|
|
|
}
|
|
|
|
|
|
|
|
return mimeType;
|
|
|
|
}
|