bugfix
This commit is contained in:
parent
5f05c2f08a
commit
5b0e28f401
@ -1,49 +1,50 @@
|
||||
import os
|
||||
import re
|
||||
import base64
|
||||
from appPuyblic.uniqueID import getID
|
||||
|
||||
def getFilenameFromBase64(base64String) {
|
||||
MIME_EXT = {
|
||||
# 图片
|
||||
"image/jpeg": "jpg",
|
||||
"image/png": "png",
|
||||
"image/gif": "gif",
|
||||
"image/webp": "webp",
|
||||
"image/bmp": "bmp",
|
||||
"image/svg+xml": "svg",
|
||||
"image/x-icon": "ico",
|
||||
"image/tiff": "tiff",
|
||||
|
||||
# 音频
|
||||
"audio/mpeg": "mp3",
|
||||
"audio/wav": "wav",
|
||||
"audio/ogg": "ogg",
|
||||
"audio/webm": "weba",
|
||||
"audio/aac": "aac",
|
||||
"audio/flac": "flac",
|
||||
"audio/mp4": "m4a",
|
||||
"audio/3gpp": "3gp",
|
||||
|
||||
# 视频
|
||||
"video/mp4": "mp4",
|
||||
"video/webm": "webm",
|
||||
"video/ogg": "ogv",
|
||||
"video/x-msvideo": "avi",
|
||||
"video/quicktime": "mov",
|
||||
"video/x-matroska": "mkv",
|
||||
"video/3gpp": "3gp",
|
||||
"video/x-flv": "flv",
|
||||
}
|
||||
|
||||
def getFilenameFromBase64(base64String):
|
||||
// Extract MIME type from data URL
|
||||
const mimeType = base64String.match(/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/)
|
||||
ext = ''
|
||||
if (mimeType && mimeType[1]) {
|
||||
const mime = mimeType[1]
|
||||
const mimeToExtension = {
|
||||
# 图片
|
||||
"image/jpeg": "jpg",
|
||||
"image/png": "png",
|
||||
"image/gif": "gif",
|
||||
"image/webp": "webp",
|
||||
"image/bmp": "bmp",
|
||||
"image/svg+xml": "svg",
|
||||
"image/x-icon": "ico",
|
||||
"image/tiff": "tiff",
|
||||
|
||||
# 音频
|
||||
"audio/mpeg": "mp3",
|
||||
"audio/wav": "wav",
|
||||
"audio/ogg": "ogg",
|
||||
"audio/webm": "weba",
|
||||
"audio/aac": "aac",
|
||||
"audio/flac": "flac",
|
||||
"audio/mp4": "m4a",
|
||||
"audio/3gpp": "3gp",
|
||||
|
||||
# 视频
|
||||
"video/mp4": "mp4",
|
||||
"video/webm": "webm",
|
||||
"video/ogg": "ogv",
|
||||
"video/x-msvideo": "avi",
|
||||
"video/quicktime": "mov",
|
||||
"video/x-matroska": "mkv",
|
||||
"video/3gpp": "3gp",
|
||||
"video/x-flv": "flv",
|
||||
}
|
||||
|
||||
ext = mimeToExtension.get(mime, '')
|
||||
}
|
||||
mimeType = base64String.match(/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/)
|
||||
match = re.match(r"data:(.*?);base64,(.*)", base64String)
|
||||
if not match:
|
||||
raise ValueError("不是合法的 base64 Data URL")
|
||||
mime_type, b64_data = match.groups()
|
||||
ext = MIME_EXT.get(mime_type, mime_type.split("/")[-1])
|
||||
name = getID()
|
||||
fname = f'{name}{ext}'
|
||||
fname = f'{name}.{ext}'
|
||||
return fname
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user