Який тип MIME використовувати для двійкового файлу, специфічного для моєї програми?


232

Моя програма використовує власний тип бінарного файлу, тому я припускаю, що я не можу використовувати текст / звичайний текст MIME, оскільки це не 7-бітний файл ASCII.

Чи варто я просто називати це "application / myappname"?

Відповіді:


362

Я б рекомендував, application/octet-streamяк говорить RFC2046 "Підтип" октет-потік "використовується для вказівки, що тіло містить довільні двійкові дані", а "Рекомендована дія для реалізації, яка отримує об'єкт" application / octet-stream ", - це просто запропонувати щоб помістити дані у файл [...] ".

Я думаю, що таким чином ви отримаєте краще поводження з довільними програмами, які можуть заграти при зустрічі з вашим невідомим типом mime.



6

браузер розпізнає заголовки mimetype з метою (швидкої) можливості ідентифікації обробника для використання завантаженого файлу як цільового, наприклад, PDF буде завантажено, а ваша програма Adobe Reader буде виконана шляхом проходження файлу PDF як суперечка,

Якщо ваші потреби полягають у написанні розширення для веб-переглядача для обробки завантаженого файлу через вашу операційну систему, або ви просто хочете змусити вас зробити проект більш "професійно виглядаючим", і вперед виберіть унікальний міметик для використання, це зробить немає різниці, оскільки операційна система не матиме ручки для її відкриття (у деяких браузерах є кілька вбудованих плагінів; наприклад, нові версії Google Chrome мають вбудований PDF-зчитувач),

якщо ви хочете переконатися, що файл буде завантажено, подивіться цю відповідь: https://stackoverflow.com/a/34758866/257319

якщо ви хочете зробити свій тип файлу особливо організованим, можливо, варто додати кілька літер у перші кілька байтів файлу, наприклад, кожен JPG має це під час запуску файлу:

якщо ви можете дозволити собі стрибок на 4 або 8 байт, це може бути дуже корисним для вас в іншому шляху

:)


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.