Próbuję base64 kodowania obrazu w skrypcie powłoki i umieścić go w zmiennej:Jak base64 kodowanie obrazu w linux bash/shell
test="$(printf DSC_0251.JPG | base64)"
echo $test
RFNDXzAyNTEuSlBH
próbowałem też coś takiego:
test=\`echo -ne DSC_0251.JPG | base64\`
ale nadal bez powodzenia.
chcę zrobić coś takiego:
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
Znalazłem http://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html
ale nadal nie miał powodzenia.
z kotem działa, wielkie dzięki bardzo dużo. Wiem, że potrafi czytać z pliku, ale nadal ma problemy z zapisaniem go w zmiennej, więc test = "$ (cat DSC_0251.JPG | base64)" działa dla mnie. – dash00
Jakie problemy? Te dwa powyższe polecenia powinny dawać identyczne wyniki, z wyjątkiem pierwszego, który jest [bezużyteczne użycie kota] (http://partmaps.org/era/unix/award.html). – chepner
masz rację. Oto, co powinienem zrobić '$ RESPONSE =" $ (curl -v -X POST -d "{" image ": \" base64 | $ DIR $ IMAGE \ "," location ": $ LOCATION," time_created ": $ TIMECREATED} '-H' Typ zawartości: text/plain, charset = UTF8 '--max-time 180 -s $ URL) ";' – dash00