This commit is contained in:
yumoqing 2025-09-04 17:19:02 +08:00
parent 5f05c2f08a
commit 5b0e28f401

View File

@ -1,14 +1,9 @@
import os import os
import re
import base64 import base64
from appPuyblic.uniqueID import getID from appPuyblic.uniqueID import getID
def getFilenameFromBase64(base64String) { MIME_EXT = {
// 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/jpeg": "jpg",
"image/png": "png", "image/png": "png",
@ -38,12 +33,18 @@ def getFilenameFromBase64(base64String) {
"video/x-matroska": "mkv", "video/x-matroska": "mkv",
"video/3gpp": "3gp", "video/3gpp": "3gp",
"video/x-flv": "flv", "video/x-flv": "flv",
} }
ext = mimeToExtension.get(mime, '') def getFilenameFromBase64(base64String):
} // Extract MIME type from data URL
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() name = getID()
fname = f'{name}{ext}' fname = f'{name}.{ext}'
return fname return fname
} }