2015-08-13 11 views
10

Chciałbym użyć typu MIME o nazwie image/* w identyfikatorze URI danych np. data:image/*;base64,R0lGODlhE... w <img/> element.Podtyp wieloznaczny MIME

  • Czy jest to w ogóle typ MIME zgodny z normą?
  • Czy może powodować problemy w niektórych przeglądarkach, a jeśli tak, to w czym?

Odpowiedz

6

image/* nie jest oficjalnym typem MIME (chociaż przeglądarki mogą być wystarczająco inteligentne, aby je renderować).

Według RFC 2046 (sekcja 4.2) Istnieją dwa sposoby można obsługiwać Generic/nieznanych obrazów:

Nierozpoznane podtypów "Obraz" powinien w miniumum być traktowane jako "application/octet-stream". Implementacje mogą opcjonalnie wybrać przekazywanie podtypów "obrazu", których nie rozpoznają, do bezpiecznej i niezawodnej aplikacji do przeglądania obrazów ogólnego przeznaczenia, o ile taka aplikacja jest dostępna.

UWAGA: Korzystanie ze standardowej aplikacji do przeglądania obrazów dziedziczy w ten sposób problemy bezpieczeństwa najbardziej niebezpiecznego typu obsługiwanego przez aplikację.

Mając na uwadze powyższe, można przekazać najbardziej rodzajowe (urzędowy) i typu MIME, która jest application/octet-streamlub można użyć image/image. Każda przeglądarka powinna być w stanie określić typ obrazu, ale nie wiem na pewno. Z tego, co widziałem, przeglądarki nie mają problemu z jpg, gif, png - ale nie mogę powiedzieć, co jest w przypadku wielu innych typów plików.

+0

Wygląda na to, że typ MIME nie ma żadnego znaczenia, https://jsfiddle.net/2fykbgag/1/ działa w przeglądarce Chrome i Firefox. –