Jakiego typu MIME użyć do pliku binarnego, który jest specyficzny dla mojego programu?


232

Mój program używa własnego typu pliku binarnego, więc zakładam, że nie mogę używać tekstu / zwykłego typu MIME, ponieważ nie jest to 7-bitowy plik ASCII.

Czy powinienem to nazwać „application / myappname”?

Odpowiedzi:


362

Polecam, application/octet-streamponieważ RFC2046 mówi „Podtyp„ strumienia oktetów ”służy do wskazania, że treść zawiera dowolne dane binarne” oraz „Zalecane działanie w przypadku implementacji, która odbiera jednostkę„ strumienia aplikacji / oktetu ”, to po prostu zaoferować umieścić dane w pliku [...] ".

Myślę, że w ten sposób uzyskasz lepszą obsługę z dowolnych programów, które mogą przeszkadzać, gdy napotkasz nieznany typ MIME.



6

Nagłówki typu mimetype są rozpoznawane przez przeglądarkę w celu (szybkiego) możliwego zidentyfikowania modułu obsługi w celu wykorzystania pobranego pliku jako celu, na przykład pobrany zostanie plik PDF, a program Adobe Reader zostanie uruchomiony ze ścieżką do pliku PDF jako argument

Jeśli potrzebujesz napisać rozszerzenie przeglądarki do obsługi pobranego pliku, za pośrednictwem systemu operacyjnego, lub po prostu chcesz sprawić, aby projekt był bardziej „profesjonalnie wyglądający”, wybierz unikalny typ mimetalu do użycia, to sprawi, że bez różnicy, ponieważ system operacyjny nie miałby żadnego uchwytu, aby go otworzyć (niektóre przeglądarki mają kilka dołączonych wtyczek, na przykład nowe wersje Google Chrome mają wbudowany czytnik PDF),

jeśli chcesz się upewnić, że plik zostanie pobrany, spójrz na tę odpowiedź: https://stackoverflow.com/a/34758866/257319

jeśli chcesz, aby Twój typ pliku był odpowiednio zorganizowany, warto dodać kilka liter w pierwszych kilku bajtach pliku, na przykład każdy plik JPG ma to na początku pliku:

jeśli możesz sobie pozwolić na skok o 4 lub 8 bajtów, może to być bardzo pomocne w pozostałej części

:)


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.