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:
parent
2672a9bf34
commit
75d81b13e9
1 changed files with 9 additions and 1 deletions
|
|
@ -72,7 +72,15 @@ class RustMediaLoader(
|
||||||
val mediaFile = innerClient.getMediaFile(
|
val mediaFile = innerClient.getMediaFile(
|
||||||
mediaSource = mediaSource,
|
mediaSource = mediaSource,
|
||||||
filename = filename,
|
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,
|
useCache = useCache,
|
||||||
tempDir = cacheDirectory.path,
|
tempDir = cacheDirectory.path,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue