Let the SDK set a correct extension to downloaded file by providing a full mimetype when a base mimetype is available. (#4830)

Fixes #4803
This commit is contained in:
Benoit Marty
2025-06-06 12:34:06 +02:00
committed by GitHub
parent 2672a9bf34
commit 75d81b13e9

View File

@@ -72,7 +72,15 @@ class RustMediaLoader(
val mediaFile = innerClient.getMediaFile(
mediaSource = mediaSource,
filename = filename,
mimeType = mimeType?.takeIf { MimeTypes.hasSubtype(it) } ?: MimeTypes.OctetStream,
mimeType = when {
mimeType == null -> MimeTypes.OctetStream
MimeTypes.hasSubtype(mimeType) -> mimeType
// Fallback to a default mime type based on the main type, so that the SDK can create a file with the correct extension.
mimeType == MimeTypes.Images -> MimeTypes.Jpeg
mimeType == MimeTypes.Videos -> MimeTypes.Mp4
mimeType == MimeTypes.Audio -> MimeTypes.Mp3
else -> MimeTypes.OctetStream
},
useCache = useCache,
tempDir = cacheDirectory.path,
)