Làm cách nào để gán (đặt) loại MIME cho tệp?


14

Có lệnh nào có thể đặt loại MIME của tệp không? ví dụ:

mime --set --MIME="image/pjpeg" filename.jpg  

Nó khá cũ, nhưng có lẽ nó vẫn hữu ích: rlog.rgtti.com/2010/11/22/ (xin lỗi, không có thời gian để khai thác nó ngay bây giờ ...). Vui lòng thêm một câu trả lời nếu nó hoạt động!
Rmano 17/2/2015


2
@SylvainPineau Câu hỏi bạn liên kết tương tự nhưng không trùng lặp và không có câu trả lời cho câu hỏi của tôi trong liên kết đó, cũng không có câu trả lời nào cho chính câu hỏi liên kết! Dựa trên câu trả lời được chấp nhận trong liên kết đó, vấn đề của người hỏi không phải là loại MIME, mà chính là nội dung tệp.
Học viên PHP

2
@PHPLearner Nhìn vào help.ubuntu.com/community/AddingMimeTypes , đặc biệt là việc sử dụng các file xml vàupdate-mime-database
Sylvain Pineau

2
@PHPLearner: Tôi đã xóa phiếu bầu gần của mình
Sylvain Pineau

Câu trả lời:


3

Câu hỏi đã được trả lời bằng @PHPLearnermột bình luận. Tuy nhiên, đây là một câu trả lời dài hơn.

Không có lệnh cụ thể mimenhư được hỏi trong câu hỏi, và không nghi ngờ gì một lệnh như vậy có thể được tạo ra. Để thêm loại MIME mới, tất cả chỉ cần chỉnh sửa /etc/mime.typestệp.

Giả sử bạn muốn thêm loại MIME có phần mở rộng .btc, sau đó

1. Kiểm tra xem loại MIME đã tồn tại chưa

Mở một dòng lệnh và nhập dòng bên dưới (thay thế btcbằng phần mở rộng của bạn)

grep 'btc' /etc/mime.types

Bây giờ, lệnh này sẽ xuất ra một dòng, Nếu loại MIME đó đã được thêm vào. Dường như điều này cho các tìm kiếm MIME cụ thể

$ grep 'cpp' /etc/mime.types
text/x-c++src                        c++ cpp cxx cc

$ grep 'py' /etc/mime.types
application/x-python-code                       pyc pyo
text/vnd.debian.copyright
text/x-python                                   py 

$ grep 'btc' /etc/mime.types

Nếu tiện ích mở rộng của bạn không xuất bất kỳ dòng nào (như btctrong trường hợp này) hoặc nếu các dòng được xuất không bao gồm tiện ích mở rộng của bạn, bạn phải tạo loại MIME mới. Mặt khác, tiện ích mở rộng của bạn đã có loại MIME có trong tệp /etc/mime.types.

2.1 Tạo loại MIME (NẾU cần)

Nếu không có đầu ra hoặc đầu ra đưa ra không bao gồm tiện ích mở rộng của bạn, chúng tôi phải thêm loại MIME. Đối với loại đó tại dòng lệnh

gksudo gedit /etc/mime.types

Sửa đổi văn bản sau để thay thế từ "phần mở rộng" bằng phần mở rộng tệp của bạn (không có dấu chấm), thêm dòng vào cuối mime.typestệp và lưu. Ở đây, tiện ích mở rộng của chúng tôi là bitcoin và chúng tôi viết btc(KHÔNG .btc) sẽ được xem là tiện ích mở rộng cho các tệp bitcoin.

text/extension                   extension

Và sao chép phần 'văn bản / phần mở rộng' đã sửa đổi.

Trong trường hợp của chúng tôi, nó sẽ trông giống như

text/bitcoin-text                btc

Lưu file và thoát.

2.2 Thêm loại MIME bằng .xmltệp vàupdate-mime-database

Nếu chỉnh sửa /etc/mime.typestệp không hoạt động cho tiện ích mở rộng của bạn, thì bạn có thể thử cách giải quyết này.

Tạo một .xmltệp mới mô tả tiện ích mở rộng của bạn như thế này & Lưu nó.

<?xml version="1.0" encoding="utf-8"?>
<mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="text/bitcoin-text">
<glob pattern="*.btc"/>
</mime-type>

Bây giờ thêm tệp này vào thư mục. Sau /usr/share/mime/applicationkhi bạn đã thêm hoặc sửa đổi bất cứ điều gì bạn cần, hãy chạy lệnh

sudo update-mime-database /usr/share/mime

3. Thêm Biểu tượng vào loại MIME

Bây giờ chúng ta cần liên kết một biểu tượng với loại MIME. Nhận biểu tượng SVG và đặt tên là "text-extension.svg" hoặc bất kỳ loại MIME đã sửa đổi nào của bạn được đặt tên; đây sẽ là biểu tượng đại diện cho tất cả các phiên bản của loại MIME trên hệ thống của bạn.

Vì vậy, chúng tôi đổi tên tệp .svg sao cho khớp với bitcoin-text.svg (hoặc "insertYourMIMEtype.svg") sao cho slashes are replaced with "-"có và có no capital letters.

Sau đó, chỉ cần chạy các lệnh sau, với 'bitcoin-text' được thay thế bằng loại MIME của bạn.

 sudo cp bitcoin-text.svg /usr/share/icons/gnome/scalable/mimetypes
 sudo gtk-update-icon-cache /usr/share/icons/gnome/ -f

Relogin và tất cả các tệp kết thúc trong phần mở rộng MIME sẽ hiển thị với biểu tượng đó.


bạn thực sự cần thêm tệp xml vào / usr / share / mime / gói, nếu bạn thêm nó vào / usr / share / mime / application khi bạn chạy update-mime-cơ sở dữ liệu, nó sẽ bị xóa
Vlax
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.