我试图用shell脚本对图像进行base64编码,并将其放入变量:

test="$(printf DSC_0251.JPG | base64)"
echo $test
RFNDXzAyNTEuSlBH

我也试过这样的方法:

test=\`echo -ne DSC_0251.JPG | base64\`

但仍然没有成功.

我想这样做:

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

我找到了这个http://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html

但仍然没有成功.

推荐答案

您需要使用cat来获取名为"DSC_0251"的文件的contents.而不是文件名本身.

test="$(cat DSC_0251.JPG | base64)"

但是,base64可以从文件本身读取:

test=$( base64 DSC_0251.JPG )

Linux相关问答推荐

当页面对齐关闭时,x86—64上的对象中的成员初始化器的Clang代码生成错误?

C++17:G++8.5版似乎无法正确生成无符号64位伪随机整数

在CefExecuteProcess;之前创建新线程会导致CEF应用程序崩溃并显示SIGTRAP

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

并行函数的最后一个实例的状态

Docker 守护进程安装在 ubuntu jenkins docker 容器代理权限被拒绝

在 Bash 中使用 shell 脚本从文件中解析版本号

在 bash 脚本中保持两个进程处于活动状态(并在死亡时重生它们)

使用 grep 时如何跳过第一行和最后一行?

用于替换 struct 文档中文本的 Bash 脚本

使用 AWK 过滤 Linux 输出

bash 更有效的方法来转换奇数日期格式以被 linux 日期识别

使用 bash 在包含模式的 java 文件中查找行,然后替换该行的另一部分

如何在 UNIX 上的 $PATH 中转义冒号 (:)?

如何分析内存使用情况?

何时使用管道与何时使用共享内存

ldconfig 错误:使用 Linux 加载程序时不是符号链接

在没有 python 命令的情况下在终端中运行 python 脚本

网络共享文件夹上的 GIT 存储库中的并发性

如何在没有 root 用户的情况下在 Linux (CentOS) 中安装软件包并进行自动依赖处理?