Description
On SaaS sites, files with unknown extensions are served as application/octet-stream even if the correct MIME type is set in the content system.
Symptoms
This can alter the behavior of the browser or other application. The browser may perform a different action such as display inline vs. download.
Steps to Replicate
Create a plain text file "test.dat"
Upload the file to the content system of a Blackboard Learn (SaaS environment)
Click Chevron > Edit Settings
Note that the File Type and is the generic MIME type "application/octet-stream"
Set the File Type to "text/plain"
Click the file
Expected Behavior:
The file will be sent with the HTTP header for MIME type set to "text/plain".
Content-Type: text/plain
Observed Behavior:
The file is sent with the generic MIME type.
Content-Type: application/octet-stream
Cause
From Learn SaaS 3400.11.0 and higher, where possible files in the Xythos Content System are served from the underlying S3 bucket. This is to alleviate load on the application server caused by "streaming" large files, especially multimedia. To prevent unauthorized access the Learn Application generates a special time-limited coded URL called a "Presigned URL" by calling the S3 API. When the extension of the file is unknown, the URL which is generated is always assigned a generic MIME type.
Resolution / Workaround
If the file extension is incorrect, do not use an incorrect file extension. However, there is currently no workaround for situations where the file extension is valid, but is not recognized. For example, "Video Text Tracks" files are not served with the MIME type "text/vtt" even if the file extension ".vtt" is used and this MIME type is applied in Xythos.
Target Release
Will Not Fix
