Có loại mime chung cho tất cả các tệp hình ảnh không?


27

Tôi biết rằng tôi có thể sử dụng loại mime cụ thể như được liệt kê ở đây , hoặc loại mime chung cho bất kỳ tệp nào application/octet-stream, nhưng có loại mime chung cho tất cả các tệp hình ảnh không?

(Tôi muốn chỉnh sửa .desktoptệp trong Linux Mint KDE để tạo mục nhập trình đơn ngữ cảnh 'Hành động' trong Trình quản lý tệp cá heo chỉ hiển thị cho các tệp hình ảnh.)


1
Sẽ image/*làm việc (như trình duyệt làm)?
Boldewyn

@Boldewyn - image/*hoạt động cho mục đích được chỉ ra trong câu hỏi của tôi, ngay cả đối với svgcác tệp - nghĩa là, như một mục trên Desktop như thế nào MimeType=image/*. Vui lòng trả lời câu hỏi cụ thể hơn mà bạn nhận xét là câu trả lời.

Câu trả lời:


26

Có loại mime chung cho tất cả các tệp hình ảnh không?

Thông thường không có, nhưng có một vài trường hợp ngoại lệ được ghi lại sau trong câu trả lời này.

Bạn cần một loại Mime để biết cách xử lý tệp (mà không cần phải đọc tiêu đề tệp).

Ghi chú:

  • Không phải tất cả các tệp hình ảnh có một tiêu đề xác định loại của họ.

  • Các tệp SVG , ví dụ, chỉ là các tệp XML. Vì vậy, nếu không có mimetype hoặc phần mở rộng chính xác, sẽ không có cách nào để xác định chính xác loại tệp.

  • Các loại Mime được chỉ định là Loại nội dung / loại phụ

  • Không có Loại Mime image/generic(Xem phần "Đọc thêm" bên dưới để biết danh sách đầy đủ các kiểu con hình ảnh đã đăng ký IANA).


Có nghĩa là có một loại mime cho nhiều tệp hình ảnh?

Không có duy nhất Content-Type/subtype bao gồm nhiều định dạng hình ảnh.

Về lý thuyết, bạn có thể sử dụng một Subtype không xác định, image/xyznhưng W3C nói rõ ràng:

"Loại nội dung image/xyzlà đủ để nói với tác nhân người dùng rằng dữ liệu là hình ảnh, ngay cả khi tác nhân người dùng không có kiến ​​thức về định dạng hình ảnh cụ thể xyz..." một hành động như vậy có thể hợp lý đối với các kiểu con văn bản không được nhận dạng, nhưng không dành cho các kiểu con không được nhận dạng của hình ảnh hoặc âm thanh "

Nói chung, Kiểu Nội dung cấp cao nhất được sử dụng để khai báo loại dữ liệu chung, trong khi kiểu con chỉ định một định dạng cụ thể cho loại dữ liệu đó.

Do đó, Kiểu nội dung của "hình ảnh / xyz" là đủ để nói với tác nhân người dùng rằng dữ liệu là hình ảnh, ngay cả khi tác nhân người dùng không có kiến ​​thức về định dạng hình ảnh cụ thể "xyz".

Thông tin như vậy có thể được sử dụng, ví dụ, để quyết định có hiển thị cho người dùng dữ liệu thô từ một kiểu con không được nhận dạng hay không - một hành động như vậy có thể hợp lý đối với các kiểu con văn bản không được nhận dạng, nhưng không phải cho các kiểu con của hình ảnh hoặc âm thanh không được nhận dạng.

Vì lý do này, các kiểu con đã đăng ký của âm thanh, hình ảnh, văn bản và video, không được chứa thông tin nhúng thực sự thuộc loại khác. Các loại hợp chất như vậy nên được biểu diễn bằng cách sử dụng loại "nhiều phần" hoặc "ứng dụng".

Nguồn W3C - Trường tiêu đề loại nội dung


Tôi có thể sử dụng ký tự đại diện như image/*trường hợp đặc biệt của mình không?

để nó có thể được sử dụng cho mục đích của tôi mà không cần chỉ định các phần mở rộng tập tin số ít / mimes?

Vâng. Như bạn đã chỉ ra một ký tự đại diện có thể được sử dụng khi chỉ định "Mục nhập máy tính để bàn" cho môi trường máy tính để bàn KDE và Gnome.

Tuy nhiên, xin lưu ý rằng Key = MimeTypekhông được chấp nhận vì có một tiêu chuẩn mới cho việc này.

Type=MimeTypekhông được chấp nhận vì hiện tại đã có một tiêu chuẩn mới, hãy xem đặc tả Cơ sở dữ liệu thông tin MIME được chia sẻ để biết thêm thông tin. Do đó, các Mẫu khóa (các phần mở rộng tên tệp khác nhau được liên kết với loại MIME) và DefaultApp (ứng dụng mặc định được liên kết với loại MIME này) cũng không được dùng nữa.

Nguồn Desktop nhập Thông số kỹ thuật

Bạn cũng có thể sử dụng ký tự đại diện cho các loại mime trong IIS, nhưng không nên làm điều này:

Bạn cũng có thể định cấu hình IIS để phục vụ các loại tệp không xác định bằng cách thêm loại ký tự đại diện (*) MIME.

Không sử dụng các loại MIME ký tự đại diện trên các máy chủ sản xuất. Làm như vậy có thể dẫn đến việc IIS phục vụ các tệp không được nhận dạng và hiển thị thông tin nhạy cảm cho người dùng.

Các loại MIME ký tự đại diện được dành cho mục đích thử nghiệm hoặc trong các tình huống trong đó các bộ lọc API máy chủ Internet (ISAPI) đã được phát triển riêng để xử lý các kịch bản ký tự đại diện này, ví dụ: ISAPI xác thực tùy chỉnh.

Nguồn Tạo các loại MIME toàn cầu


đọc thêm


Điều đó có nghĩa là có một loại mime cho nhiều tệp hình ảnh - không phải tất cả, mà là nhiều, để nó có thể được sử dụng cho mục đích của tôi mà không cần chỉ định các phần mở rộng / mimes tệp đơn lẻ?

2
@cipricus Không có đơn content-type/subtype nào bao gồm các định dạng hình ảnh trung gian.
DavidPostill

@cipricus Trả lời cập nhật để giải quyết bình luận của bạn.
DavidPostill

như được chỉ ra trong một nhận xét dưới câu hỏi của tôi, image/*hoạt động cho mục đích được chỉ ra trong câu hỏi của tôi, ngay cả đối với svgcác tệp - nghĩa là, như một mục trên Desktop như thế nào MimeType=image/*.

Nó có thể hoạt động tốt, nhưng theo Đặc tả mục nhập của Máy tính để bàn - " Type=MimeTypekhông được chấp nhận vì hiện tại đã có một tiêu chuẩn mới, hãy xem Đặc tả cơ sở dữ liệu thông tin MIME được chia sẻ để biết thêm thông tin. Do đó, các Mẫu khóa (các phần mở rộng tên tệp khác nhau được liên kết với Loại MIME) và DefaultApp (ứng dụng mặc định được liên kết với loại MIME này) cũng không được dùng nữa. "
DavidPostill

2

Theo SO-Trả lời này, không có loại MIME chung. Vấn đề là MIME-Type là các allways bao gồm Type, Subtype và Parameter tùy chọn: Type/Subtype; Parameter(xem tại đây ). Bạn chỉ muốn sử dụng loại, nhưng theo định nghĩa, một kiểu con là bắt buộc và không có kiểu con chung. Một danh sách tất cả các loại hình ảnh có thể được tìm thấy ở đây .


Nhưng kỳ lạ, rằng danh sách của "tất cả" các loại hình ảnh có khoảng trống cho gifjpeg, trong khi danh sách này sitepoint.com/web-foundations/mime-types-complete-list cho thấy họ image/gifimage/jpegtương ứng.
dùng664833
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.