Using MIME type to detect embedded image

Continuing the discussion from Add setting to disable hotlinking of large image files:

I’d like to propose detection of images by MIME type, not by extension.

Use case:

I put JPG url on line:

File doesn’t have JPG extension, but content-type is correctly sent, so I’d like to see Discourse to automatically update it to img tag, show inline and even hotlink.


I believe it would be beneficial to detect photo for oneboxing (updating to img tag) not from extension like it is being used currently, but from MIME type.


Easy to work around though just add ?x=.jpg to the end of any URL.

1 Like

Thanks. But that doesn’t quite solve the problem. I’m already using workaround to add img tag manually. My users are not technically skilled so automatic form of hotlinking would be great.

I think it is super bad form to have images that look like HTML web pages so I would object to this being supported as it encourages super bad web hosting habits.

1 Like

I agree it is bad practice of the image hoster, but you know - " be tolerant in what you accept "

And second, we already are pinging the URL, so why not use it to our benefit?

Funny side note: I’ve just found that image hoster is using Xenforo Media Gallery paid plugin :slight_smile:


I’m going to disagree with you here. When you get the “Content-Type:” header, that’s when you know what you are dealing with. Otherwise a URL without an extension doesn’t look like anything, not “looks like HTML”.

This is how content negotiation on the web is supposed to work. I should be able to make a directory full of files, and return different versions of them depending on the “Accept” headers the browser offers. If you don’t explicitly say “Accept: image/x-mycoolformat”, but just a “Accept: /”, then maybe I want to hand you image/jpeg, but otherwise give you mycoolformat.

1 Like

By that logic, page titles and urls also don’t matter. But we all know they do. So I violently disagree on this point.

Page titles have many uses, eg distinguishing tabs and titling bookmarks. URLs matter only because Google thinks they should. But I won’t press the point further.