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 0cd4385275
commit c3bbac162b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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,
)