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:

https://freecannabis.com/media/dscf1924.36/full

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.

image

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.

6 לייקים

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

https://freecannabis.com/media/dscf1924.36/full?x=.jpg

לייק 1

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

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?

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

2 לייקים

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

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.