【发布时间】:2021-10-28 20:20:48
【问题描述】:
试图解决“参数列表太长” 我一直在寻找解决方案,并找到了最接近我的问题的解决方案 curl: argument list too long 但是响应尚不清楚,因为我仍然遇到“参数列表太长”的问题
curl -X POST -d @data.txt \
https://Path/to/attachments \
-H 'content-type: application/vnd.api+json' \
-H 'x-api-key: KEY' \
-d '{
"data": {
"type": "attachments",
"attributes": {
"attachment": {
"content": "'$(cat data.txt | base64 --wrap=0)'",
"file_name": "'"$FileName"'"
}
}
}
}'
谢谢
【问题讨论】:
-
是的,那里的答案可能需要一些充实。基本上,您需要以与第一个相同的方式处理第二个数据块:将其放入文件中,然后使用
-d @filename告诉curl从该文件中读取它。 -
没用的
cat改用base64 --wrap=0 <data.txt -
根据链接的答案“您正在尝试在命令行上传递全部 base64 内容”。这是 shell 的限制,而不是
curl。建议是“curl 能够从文件加载数据到 POST”。将json数据写入某个文件/tmp/data,然后使用@将该文件路径传递给curl,这样curl就知道这是一个文件路径curl -d @/tmp/data ...。curl将从文件/tmp/data中读取数据。