我收到错误:Argument list too long
尝试使用 cUrl 在我的 JSON 正文中以 base64 格式发送文件时。
我正在使用这样的东西:
DATA=$( base64 "$FILE" )
curl -X POST -H "Content-Type: application/json" -d '{
"data": "'"$DATA"'"
}' $HOST
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以在我的 JSON 正文中获取数据?
考虑到我需要读取文件系统中的文件,将其转换为 base64,然后将其发送到正文中。
jw0*_*013 26
如果 base64 编码的文件太大而无法放入参数列表中,您将不得不通过文件传递它。我能想到的一种更简单的方法是通过标准输入传递它。从curl 手册页,您可以使用-d @-
从 stdin 而不是命令行读取。
curl -X POST -H "Content-Type: application/json" -d @- "$HOST" <<CURL_DATA
{ "data": "$DATA" }
CURL_DATA
Run Code Online (Sandbox Code Playgroud)