วิธีการกำหนด (ตั้งค่า) ชนิด MIME ให้กับไฟล์ได้อย่างไร?


14

มีคำสั่งใดบ้างที่สามารถตั้งค่าชนิดไฟล์ MIME ได้หรือไม่? ตัวอย่างเช่น:

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

มันค่อนข้างเก่า แต่อาจจะมีประโยชน์: rlog.rgtti.com/2010/11/22/… (ขออภัยไม่มีเวลาขุดออกเลยตอนนี้ ... ) โปรดเพิ่มคำตอบด้วยตัวคุณเองถ้าใช้งานได้!
Rmano


2
@SylvainPineau คำถามที่คุณเชื่อมโยงนั้นคล้ายกัน แต่ไม่ซ้ำกันและไม่มีคำตอบสำหรับคำถามของฉันในลิงก์นั้นหรือคำตอบสำหรับคำถามลิงก์นั้น ๆ ! จากคำตอบที่ยอมรับในลิงก์นั้นปัญหาของผู้ถามไม่ใช่ประเภท MIME แต่เป็นเนื้อหาของไฟล์
PHP Learner

2
@PHPLearner ดูhelp.ubuntu.com/community/AddingMimeTypesโดยเฉพาะการใช้ไฟล์ xml และupdate-mime-database
Sylvain Pineau

2
@PHPLearner: ฉันได้ลบการโหวตอย่างใกล้ชิดแล้ว
Sylvain Pineau

คำตอบ:


3

ตอบคำถามแล้วโดย@PHPLearnerในความคิดเห็น อย่างไรก็ตามนี่คือคำตอบที่ยาวกว่า

ไม่มีคำสั่งพิเศษอย่างmimeที่ถามในคำถามและไม่ต้องสงสัยเลยว่าคำสั่งนั้นสามารถสร้างได้ สำหรับการเพิ่มประเภท MIME ใหม่สิ่งที่ต้องทำคือแก้ไข/etc/mime.typesไฟล์

สมมติว่าคุณต้องการที่จะเพิ่มชนิด MIME ที่มีนามสกุล.btcแล้ว

1. ตรวจสอบว่าประเภท MIME นั้นมีอยู่แล้ว

เปิดบรรทัดคำสั่งและป้อนบรรทัดด้านล่าง (แทนที่btcด้วยส่วนขยายของคุณ)

grep 'btc' /etc/mime.types

ตอนนี้คำสั่งนี้จะส่งออกบรรทัดถ้าประเภท MIME นั้นถูกเพิ่มแล้ว ดูเหมือนว่านี้สำหรับการค้นหา MIME โดยเฉพาะ

$ 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

หากส่วนขยายของคุณไม่ส่งออกบรรทัดใด ๆ (เช่นเดียวกับbtcในกรณีนี้) หรือหากบรรทัดที่ส่งออกไม่รวมส่วนขยายของคุณคุณต้องสร้างประเภท MIME ใหม่ มิฉะนั้นส่วนขยายของคุณมีประเภท MIME รวมอยู่ในไฟล์/etc/mime.typesแล้ว

2.1 การสร้างประเภท MIME (หากจำเป็น)

หากไม่มีเอาต์พุตหรือเอาต์พุตที่ระบุไม่รวมส่วนขยายของคุณเราจะต้องเพิ่มประเภท MIME สำหรับประเภทนั้นที่บรรทัดคำสั่ง

gksudo gedit /etc/mime.types

แก้ไขข้อความต่อไปนี้เพื่อให้คำว่า "นามสกุล" ถูกแทนที่ด้วยนามสกุลไฟล์ของคุณ (ไม่มีเครื่องหมายจุด) เพิ่มบรรทัดไปยังจุดสิ้นสุดของmime.typesไฟล์และบันทึก ที่นี่ส่วนขยายของเราคือ bitcoin และเราเขียนbtc(ไม่ใช่. btc) ที่จะเห็นเป็นส่วนเสริมสำหรับไฟล์ bitcoin

text/extension                   extension

และคัดลอกส่วน 'text / extension' ดัดแปลง

ในกรณีของเรามันจะดูเหมือน

text/bitcoin-text                btc

บันทึกไฟล์และออก

2.2 การเพิ่มประเภท MIME โดยใช้.xmlไฟล์และupdate-mime-database

หาก/etc/mime.typesไฟล์การแก้ไขใช้ไม่ได้กับส่วนขยายของคุณคุณสามารถลองใช้วิธีแก้ปัญหานี้ได้

สร้าง.xmlไฟล์ใหม่ที่อธิบายถึงส่วนขยายของคุณเช่นนี้ & บันทึก

<?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>

ตอนนี้เพิ่มไฟล์นี้ลงใน/usr/share/mime/applicationโฟลเดอร์หลังจากที่คุณเพิ่มหรือแก้ไขสิ่งที่คุณต้องการเรียกใช้คำสั่ง

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

3. การเพิ่มไอคอนเป็นประเภท MIME

ตอนนี้เราต้องเชื่อมโยงไอคอนกับชนิด MIME รับไอคอน SVG และตั้งชื่อเป็น "text-extension.svg" หรือชื่อประเภท MIME ที่คุณแก้ไขใด ๆ นี่จะเป็นไอคอนเพื่อแสดงอินสแตนซ์ทั้งหมดของชนิด MIME ในระบบของคุณ

ดังนั้นเราเปลี่ยนชื่อแฟ้ม .svg เพื่อให้มันตรงกับBitcoin-text.svg (หรือ "insertYourMIMEtype.svg") เพื่อให้และมีslashes are replaced with "-"no capital letters

จากนั้นเพียงเรียกใช้คำสั่งต่อไปนี้ด้วย 'bitcoin-text' แทนที่ด้วยประเภท MIME ของคุณ

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

Relogin และไฟล์ทั้งหมดที่ลงท้ายด้วย MIME extension จะแสดงพร้อมไอคอนนั้น


1
คุณจำเป็นต้องเพิ่มไฟล์ xml ลงใน / usr / share / mime / แพ็คเกจถ้าคุณเพิ่มเข้าไปใน / usr / share / mime / application เมื่อคุณรัน update-mime-database มันจะถูกลบออก
Vlax
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.