Estou tentando codificar uma imagem em base64 em um script de shell e colocá-la na variável:
test="$(printf DSC_0251.JPG | base64)"
echo $test
RFNDXzAyNTEuSlBH
Eu também tentei algo assim:
test=\`echo -ne DSC_0251.JPG | base64\`
mas ainda sem sucesso.
Eu quero fazer algo assim:
curl -v -X POST -d '{"image":$IMAGE_BASE64,"location":$LOCATION,"time_created":$TIMECREATED}' -H 'Content-type: text/plain; charset=UTF8' http://192.168.1.1/upload
Encontrei este http://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html
mas ainda não teve sucesso.
$RESPONSE="$(curl -v -X POST -d '{"image":`base64|$DIR$IMAGE`,"location":$LOCATION,"time_created":$TIMECREATED}' -H 'Content-type: text/plain; charset=UTF8' --max-time 180 -s $URL)";
cat vlc.jpg | base64 -w 0
- caso alguém queira a saída como string para copiar e colar.base64 DSC_0251.JPG
? Não há necessidade de passar pelocat
filtro quando o programa pega um arquivo como argumentos (base64 [OPTIONS] [FILE]
)Resultado de linha única:
Para
HTML
:Como arquivo:
Na variável:
Em variável para
HTML
:Obtenha seus dados legíveis de volta:
Veja: http://www.greywyvern.com/code/php/binary2base64
fonte
-w 0
este parâmetro é muito importante em muitos casos. Ex. Se estivermos executando diretamente na linha de comando. Obrigado!base64: invalid option -- w
. Quando é removido, eu entendoUnable to open '0': No such file or directory
. Veja isso .Existe um comando Linux para isso: base64
Para atribuir o resultado ao uso variável
fonte
base64 -d DSC_0251.b64 > DSC_0251.JPG
pode obter dados legíveis de volta.Base 64 para html:
fonte
Para base64 e colocá-lo em sua área de transferência:
fonte
Se você precisar de informações do termial, tente isto
-n
opção não irá inserir o caractere "\ n" no comando base64.fonte