client+server: added quicktime upload support

This commit is contained in:
skybldev 2022-08-05 21:31:27 -04:00 committed by Shyam Sunder
parent 6c3b50d287
commit 8a03015349
4 changed files with 9 additions and 1 deletions

View file

@ -42,6 +42,7 @@
'image/heic': 'HEIC', 'image/heic': 'HEIC',
'video/webm': 'WEBM', 'video/webm': 'WEBM',
'video/mp4': 'MPEG-4', 'video/mp4': 'MPEG-4',
'video/quicktime': 'MOV',
'application/x-shockwave-flash': 'SWF', 'application/x-shockwave-flash': 'SWF',
}[ctx.post.mimeType] + }[ctx.post.mimeType] +
' (' + ' (' +

View file

@ -15,6 +15,7 @@
'image/heic': 'HEIC', 'image/heic': 'HEIC',
'video/webm': 'WEBM', 'video/webm': 'WEBM',
'video/mp4': 'MPEG-4', 'video/mp4': 'MPEG-4',
'video/quicktime': 'MOV',
'application/x-shockwave-flash': 'SWF', 'application/x-shockwave-flash': 'SWF',
}[ctx.post.mimeType] %> }[ctx.post.mimeType] %>
</a> </a>

View file

@ -22,6 +22,7 @@ function _mimeTypeToPostType(mimeType) {
"image/heic": "image", "image/heic": "image",
"video/mp4": "video", "video/mp4": "video",
"video/webm": "video", "video/webm": "video",
"video/quicktime": "video",
}[mimeType] || "unknown" }[mimeType] || "unknown"
); );
} }
@ -120,6 +121,7 @@ class Url extends Uploadable {
heif: "image/heif", heif: "image/heif",
heic: "image/heic", heic: "image/heic",
mp4: "video/mp4", mp4: "video/mp4",
mov: "video/quicktime",
webm: "video/webm", webm: "video/webm",
}; };
for (let extension of Object.keys(mime)) { for (let extension of Object.keys(mime)) {

View file

@ -39,6 +39,9 @@ def get_mime_type(content: bytes) -> str:
if content[4:12] in (b"ftypisom", b"ftypiso5", b"ftypmp42", b"ftypM4V "): if content[4:12] in (b"ftypisom", b"ftypiso5", b"ftypmp42", b"ftypM4V "):
return "video/mp4" return "video/mp4"
if content[4:12] in (b"ftypqt "):
return "video/quicktime"
return "application/octet-stream" return "application/octet-stream"
@ -54,6 +57,7 @@ def get_extension(mime_type: str) -> Optional[str]:
"image/heif": "heif", "image/heif": "heif",
"image/heic": "heic", "image/heic": "heic",
"video/mp4": "mp4", "video/mp4": "mp4",
"video/quicktime": "mov",
"video/webm": "webm", "video/webm": "webm",
"application/octet-stream": "dat", "application/octet-stream": "dat",
} }
@ -65,7 +69,7 @@ def is_flash(mime_type: str) -> bool:
def is_video(mime_type: str) -> bool: def is_video(mime_type: str) -> bool:
return mime_type.lower() in ("application/ogg", "video/mp4", "video/webm") return mime_type.lower() in ("application/ogg", "video/mp4", "video/quicktime", "video/webm")
def is_image(mime_type: str) -> bool: def is_image(mime_type: str) -> bool: