Como atribuir (definir) um tipo MIME a um arquivo?

7

Existe algum comando que possa definir o tipo MIME de um arquivo? por exemplo:

mime --set --MIME="image/pjpeg" filename.jpg  
    
por PHP Learner 17.02.2015 / 13:18

1 resposta

1

A pergunta é Já respondida por @PHPLearner em seu comentário. No entanto, por uma questão de resposta, aqui vai.

Não existe um comando específico como tal mime conforme solicitado na pergunta, e Sem dúvida um comando desse tipo pode ser criado. Para adicionar um novo tipo MIME, basta editar o arquivo /etc/mime.types .

Digamos que você queira adicionar o tipo MIME com extensão .btc e, em seguida,

1. Verificar se o tipo MIME já existe

Abra uma linha de comando e insira a linha abaixo. (substitua btc pela sua extensão)

  

$ grep 'btc' /etc/mime.types

Agora, este comando emitirá linha, se esse tipo MIME já estiver adicionado. Parece assim para pesquisas MIME específicas

$ 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

Se a sua extensão não exibir nenhuma linha (como no caso de btc neste caso) ou se as linhas geradas não incluírem sua extensão, você deverá criar um novo tipo MIME. Caso contrário, sua extensão já possui um tipo MIME incluído no arquivo /etc/mime.types

2.1 Criando o tipo MIME (SE necessário)

Se não houver saída, ou a saída fornecida não incluir sua extensão, devemos adicionar um tipo MIME. Para esse tipo na linha de comando

  

$ gksudo gedit /etc/mime.types

Modifique o seguinte texto para que a palavra "extensão" seja substituída por sua extensão de arquivo (no period mark) , adicione a linha ao final do arquivo mime.types e salve. Aqui nossa extensão é bitcoin e nós escrevemos btc (NOT .btc) que será visto como extensão para os arquivos bitcoin.

text/extension                   extension

Copie a parte "texto / extensão" modificada.

No nosso caso, será parecido com

text/bitcoin-text                btc

Salve o arquivo e saia.

2.2 Adicionando o tipo MIME usando .xml file e update-mime-database

Se a edição do arquivo /etc/mime.types não funcionar para sua extensão, você poderá tentar esta solução alternativa.

Crie um novo arquivo .xml que descreva sua extensão como este & amp; Salve isso.

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

Agora adicione este arquivo na pasta /usr/share/mime/application . Depois de adicionar ou modificar o que você precisar, execute o comando

  

$ sudo update-mime-banco de dados / usr / share / mime

3. Adicionando um ícone ao tipo MIME

Agora precisamos associar um ícone ao tipo MIME. Pegue um ícone SVG e chame-o de "text-extension.svg", ou qualquer que seja o nome do seu tipo MIME modificado; este será o ícone para representar todas as instâncias do tipo MIME no seu sistema.

Então, renomeamos o arquivo .svg para que ele corresponda a bitcoin-text.svg (ou" insertYourMIMEtype.svg ") para que slashes are replaced with "-" e no capital letters .

Em seguida, basta executar os seguintes comandos, com "bitcoin-text" substituído por seu tipo MIME.

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

Relogin e todos os arquivos terminados na extensão MIME serão exibidos com esse ícone.

    
por C0deDaedalus 06.01.2018 / 03:15