We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.

Forum Discussion

kostas k.7's avatar
kostas k.7
Explorer | Level 4
7 years ago

MIME type ('text/plain') is not executable

Hello Dropboxers,

 

I am developing a web app with the use of HTTP endpoints. Thus far, the Power user(owner of a file) can create_a_shared_link with settings for a specific file and share it with others. When a Guest user (NOT owner of the file) logs in to my app i grab the shared link ( that was provided ), i replace the www.dropbox.com/s/blablabla/myFile with  dl.dropboxusercontent.com/s/blablabla/myFile and i create a dymanic Javascript script with src="The shared link" to download the file and read it's response. 

 

When the script is placed in the HTML an error occurs:   "Refused to execute script from 'dl.dropboxusercontent.com/s/blablabla/myFile' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled."

 

I can not find a solution to this problem. Can you provide some help please?

  • Based on the output you shared, the browser is refusing to load the file as a script because the Content-Type returned isn't an executable type.

    The Content-Type that Dropbox returns is based on the file extension. It sounds like you probably have a plain text extension on the file, e.g., ".txt". You would need to switch to using ".js" as the file extension in Dropbox if you want it to be served as "application/javascript" instead, so that the browser will load it.
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff
    Based on the output you shared, the browser is refusing to load the file as a script because the Content-Type returned isn't an executable type.

    The Content-Type that Dropbox returns is based on the file extension. It sounds like you probably have a plain text extension on the file, e.g., ".txt". You would need to switch to using ".js" as the file extension in Dropbox if you want it to be served as "application/javascript" instead, so that the browser will load it.