Apakah ada tipe mime umum untuk semua file gambar?

27

Saya tahu bahwa saya dapat menggunakan tipe pantomim khusus seperti yang tercantum untuk contoh di sini , atau tipe pantomim generik untuk semua file seperti application/octet-stream, tetapi apakah ada tipe pantomim generik untuk semua file gambar?

(Saya ingin mengedit .desktopfile di Linux Mint KDE untuk membuat entri menu konteks 'Tindakan' di Dolphin File Manager yang akan ditampilkan hanya untuk file gambar.)

Excellll
sumber
1
Apakah akan image/*berfungsi (seperti yang dilakukan browser)?
Boldewyn
@Boldewyn - image/*berfungsi untuk tujuan yang ditunjukkan dalam pertanyaan saya, bahkan untuk svgfile - yaitu, seperti entri Desktop MimeType=image/*. Harap jawab pertanyaan yang lebih spesifik ini yang Anda komentari jawabannya.

Jawaban:

26

Apakah ada tipe mime umum untuk semua file gambar?

Biasanya tidak ada, tetapi ada beberapa pengecualian yang didokumentasikan kemudian dalam jawaban ini.

Anda memerlukan Jenis Mime untuk mengetahui cara memproses file (tanpa harus membaca header file).

Catatan:

  • Tidak semua file gambar memiliki header yang mengidentifikasi tipenya.

  • File SVG , misalnya, hanyalah file XML. Jadi tanpa mimetype atau ekstensi yang benar tidak akan ada cara untuk mengidentifikasi dengan benar jenis file.

  • Jenis Mime ditentukan sebagai Tipe-Konten / subtipe

  • Tidak ada Tipe Mime image/generic(Lihat "Bacaan lebih lanjut" di bawah ini untuk daftar lengkap subtipe gambar terdaftar IANA).


Apakah ini berarti ada tipe mime untuk beberapa file gambar?

Tidak ada satu pun Content-Type/subtype yang mencakup banyak format gambar.

Secara teori Anda bisa menggunakan Subtipe yang tidak diketahui seperti image/xyztetapi W3C mengatakan dengan jelas:

"Tipe Konten image/xyzcukup untuk memberi tahu agen pengguna bahwa data adalah gambar, bahkan jika agen pengguna tidak memiliki pengetahuan tentang format gambar tertentu xyz..." tindakan semacam itu mungkin masuk akal untuk subtipe teks yang tidak dikenal, tetapi bukan untuk subtipe gambar atau audio yang tidak dikenal "

Secara umum, Tipe-Konten tingkat atas digunakan untuk mendeklarasikan tipe data umum, sedangkan subtipe menentukan format spesifik untuk tipe data tersebut.

Dengan demikian, Tipe-Konten "gambar / xyz" sudah cukup untuk memberi tahu agen pengguna bahwa data adalah gambar, bahkan jika agen pengguna tidak memiliki pengetahuan tentang format gambar spesifik "xyz".

Informasi tersebut dapat digunakan, misalnya, untuk memutuskan apakah akan menampilkan data mentah kepada pengguna dari subtipe yang tidak dikenal - tindakan semacam itu mungkin masuk akal untuk subtipe teks yang tidak dikenal, tetapi tidak untuk subtipe gambar atau audio yang tidak dikenal.

Untuk alasan ini, subtipe audio, gambar, teks, dan video yang terdaftar, tidak boleh mengandung informasi yang disematkan yang benar-benar dari tipe yang berbeda. Jenis senyawa semacam itu harus direpresentasikan menggunakan tipe "multipart" atau "aplikasi".

Sumber W3C - Bidang Header Jenis-Konten


Bisakah saya menggunakan wildcard seperti image/*untuk kasing khusus saya?

sehingga dapat digunakan untuk tujuan saya tanpa perlu menentukan ekstensi file tunggal / mime?

Iya nih. Seperti yang telah Anda tunjukkan, wildcard dapat digunakan saat menentukan "Entri Desktop" untuk lingkungan desktop KDE dan GNOME.

Namun, harap dicatat bahwa Key = MimeTypesudah usang karena ada standar baru untuk ini.

Type=MimeTypesudah usang karena ada standar baru untuk ini sekarang, lihat Spesifikasi Basis Data Info-MIME bersama untuk informasi selengkapnya. Karena itu, Pola Tombol (berbagai ekstensi nama file yang terkait dengan jenis MIME) dan DefaultApp (aplikasi default yang terkait dengan jenis MIME ini) juga tidak digunakan lagi.

Sumber Desktop Entry Keterangan

Anda juga dapat menggunakan wildcard untuk tipe mime di IIS, tetapi disarankan untuk tidak melakukan ini:

Anda juga dapat mengonfigurasi IIS untuk menyajikan tipe file yang tidak ditentukan dengan menambahkan karakter wildcard (*) tipe MIME.

Jangan gunakan wildcard-type MIME pada server produksi. Hal tersebut dapat mengakibatkan IIS menyajikan file yang tidak dikenal dan menampilkan informasi sensitif kepada pengguna.

Tipe wildcard MIME dimaksudkan untuk tujuan pengujian atau dalam skenario di mana filter Internet Server API (ISAPI) telah dikembangkan secara khusus untuk menangani skenario wildcard ini, misalnya, ISAPI otentikasi kustom.

Sumber Membuat Jenis MIME Global


Bacaan lebih lanjut

DavidPostill
sumber
Apakah ini berarti bahwa ada tipe pantomim untuk beberapa file gambar - tidak semua, tetapi banyak, sehingga dapat digunakan untuk tujuan saya tanpa perlu menentukan ekstensi file tunggal / mime?
2
@cipricus Tidak ada satu pun content-type/subtype yang mencakup format gambar muliple.
DavidPostill
@cipricus Jawaban diperbarui untuk menanggapi komentar Anda.
DavidPostill
seperti yang ditunjukkan dalam komentar di bawah pertanyaan saya, image/*berfungsi untuk tujuan yang ditunjukkan dalam pertanyaan saya, bahkan untuk svgfile - yaitu, seperti entri Desktop MimeType=image/*.
Ini mungkin bekerja, tetapi menurut Spesifikasi Entri Desktop - " Type=MimeTypesudah usang karena ada standar baru untuk ini sekarang, lihat Spesifikasi Basis Data Info-MIME bersama untuk informasi lebih lanjut. Sebagai konsekuensinya Pola Kunci (berbagai ekstensi nama file yang terkait dengan Jenis MIME) dan DefaultApp (aplikasi default yang terkait dengan jenis MIME ini) juga tidak digunakan lagi. "
DavidPostill
2

Menurut SO-Answer ini tidak ada MIME-Type generik. Masalahnya adalah bahwa MIME-Type selalu terdiri dari Tipe, Subtipe dan Parameter opsional: Type/Subtype; Parameter(lihat di sini ). Anda hanya ingin menggunakan jenisnya, tetapi menurut definisi diperlukan subtipe dan tidak ada subtipe umum. Daftar semua jenis gambar dapat ditemukan di sini .

jrast
sumber
Anehnya, daftar "semua" jenis gambar memiliki kekosongan untuk gifdan jpeg, sedangkan daftar ini sitepoint.com/web-foundations/mime-types-complete-list menunjukkan bahwa mereka image/gifdan image/jpegmasing - masing.
user664833