Como gerar um URI de dados a partir de um arquivo de imagem?

9

Existem ferramentas online, como o duri.me, que permitem criar um URI de dados a partir de um arquivo de imagem. Existem ferramentas executadas localmente no Linux para fazer o mesmo?

orschiro
fonte

Respostas:

14

Os URIs de dados geralmente são codificados apenas em base64 com o tipo MIME preso na frente. Eu uso esse script caseiro, que pega o nome do arquivo como seu primeiro e único parâmetro e retorna a uri de dados, já encapsulada em url('data:'):

[0 1026 8:29:38] ~ % cat $(which cssify.sh)
#!/bin/sh
mimetype=$(file -bN --mime-type "$1")
content=$(base64 -w0 < "$1")
echo "url('data:$mimetype;base64,$content')"
Ulrich Schwarz
fonte
Eu precisava substituir -w0por-b0
thanksd 12/12/18
No BSD (macOS), use base64sem parâmetros, pois não quebra a string por padrão. Código: #!/usr/bin/env bash echo "url('data:$(file -bN --mime-type "$1");base64,$(base64 < "$1")')"
iolsmit 31/07/19