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



当我试图使用curl post命令将jar文件推送到gitlab时,我收到了一个400 Bad请求错误。这种情况只发生在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"

请有人告诉我我在这里缺了什么。

感谢

通过使用base64编码对jar/war文件进行编码,我能够将二进制文件POST到gitlab

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

并运行上面的命令。

查看错误400的可能原因,错误的一个潜在原因是jar文件太大:

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

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

最新更新