2013-11-05 17 views
9

Czy istnieje specjalny typ MIME (np. application/image), który umożliwia przeglądarce interpretację odpowiedzi jako obrazu niezależnego od typu obrazu (pdf, gif, jpg)?Czy istnieje typowy typ MIME, rozpoznawany przez współczesne przeglądarki?

Mam serwer, który automatycznie generuje nazwy plików bez rozszerzenia dla przesłanych obrazów. To, czego chcę uniknąć, to przechowywanie ich rozszerzeń i podawanie ich w klintach przy użyciu tylko wygenerowanych identyfikatorów. Chcę, aby przeglądarka wiedziała, że ​​jest obrazem, ale bez określania rozszerzenia pliku.

Odpowiedz

7

Nie, punktem typów MIME jest identyfikacja typów zasobów na poziomie serwera i umożliwienie klientowi przetwarzania ich w obecnym stanie.

Istnieje kilka typów plików obrazów, które nie mają binarnego znacznika podpisu (np .: svg). Brak tego znacznika powoduje, że plik jest trudny do zidentyfikowania bez typu MIME lub rozszerzenia pliku.

Na przykład exif_imagetype jest funkcją, która identyfikuje GIF, JPEG, PNG, SWF, PSD, BMP, TIFF_II, TIFF_MM, JPC, JP2, JPX, JB2, SWC, IFF, WBMP, XBM, ICO, ale nie identyfikuje SVG akta.

Pliki SVG to pliki XML opisujące strukturę obrazu w kształtach, liniach i punktach. Tak więc jest to plik tekstowy, bez pełnego odpowiedniego typu MIME, który deklaruje, że nie jest tylko obrazem, ale obrazem SVG, nie może być traktowany jako obraz.

<!-- how do we handle this if the server 
    does not give as a mime type header? --> 
<img src="file.svg" /> 
<!-- we know it's an image but what to do 
    with it --> 

Istnieją przypadki, kiedy CSS lub JS pliki są generowane przy użyciu php i rozszerzenie „* .php”, a deweloper nie ustawił poprawną „text/css” lub „text/javascript” nagłówek , może nagłówek jest "tekstowy/zwykły", przeglądarka odmówi analizowania & zastosować je.

+0

Mersi! ;) Twoje zdrowie! –