从命令行使用POST到gitlab时,Curl抛出400错误请求错误

从命令行使用POST到gitlab时,Curl抛出400错误请求错误,curl,gitlab,Curl,Gitlab,当我尝试使用curlpost命令将jar文件推送到gitlab时,我得到了一个400错误的请求错误。 这种情况只发生在Jar文件中。我能够成功地推送文本和json文件。 我正在使用下面的命令发布文件 curl -v --request POST \ --header "PRIVATE-TOKEN:<token provided>" \ --form "branch=develop" \ --form "commit_message=&

当我尝试使用curlpost命令将jar文件推送到gitlab时,我得到了一个400错误的请求错误。 这种情况只发生在Jar文件中。我能够成功地推送文本和json文件。 我正在使用下面的命令发布文件

curl -v --request POST \
--header "PRIVATE-TOKEN:<token provided>" \
--form "branch=develop" \
--form "commit_message=<message provide>" \
--form "action[][action]=create" \
--form "action[][file_path]=<path provided> \
--form "action[][content]=<app.jar" \
"https://registry.com/api/v4/projects/111/repository/commits"
``
Please someone tell me what i'm missing here.

Thanks

curl-v——请求发布\
--标题“专用令牌:”\
--表格“分支=发展”\
--表单“提交消息=”\
--表格“action[][action]=创建”\
--表单“操作[][文件路径]=\
--表单“action[][content]=查看,您的错误的一个潜在原因是jar文件太大:

客户端可能正在上载一个太大的文件。
大多数web服务器或应用程序都有明确的文件大小限制,以防止上载过大的文件并阻塞服务器中的带宽和其他资源。在许多情况下,当文件太大时,服务器将产生400错误请求错误(因此,请求无法完成)


通过尝试提交一个小jar文件来验证这一点,并查看在这种情况下是否有效。

我能够通过使用base64编码jar/war文件将二进制文件发布到gitlab

base64——包装0 app.jar>app.jar


然后运行上面的命令。

我正在尝试使用63KB的jar文件。但事实并非如此working@raki1205然后,如果大小确实不是问题(我会用几个K jar来确认它,例如小于10K),那么通过从不同的工作站尝试相同的查询来检查网络是否是问题。但还是没有运气。我尝试了100MB的文本文件,效果很好。很好。向上投票。