curl - 从命令行使用 POST 到 gitlab 时,Curl 抛出 400 Bad request 错误
问题描述
当我尝试使用 curl post 命令将 jar 文件推送到 gitlab 时,我收到 400 Bad request 错误。这只发生在 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
解决方案
通过使用 base64 编码对 jar/war 文件进行编码,我能够将二进制文件发布到 gitlab
base64 --wrap 0 app.jar > app.jar
并运行上面的命令。
推荐阅读
- aspectj - 不按方面处理架构服务
- r - 在整个 Markdown 针织 Word 文档中使用 texreg::wordreg
- intellij-idea - 从 lombok @Builder 注释类生成所有字段 Builder
- javascript - 如何确保 Mongoose 保持数组的顺序?
- swift - 尝试将变量传递到第二个视图时出错
- nuxt.js - NUXT SSR 安装挂钩
- linux - 我喜欢在 Jenkins 中安排 crontab 运行替代周。示例:如果它在 2020 年 5 月 26 日运行,下一次运行应该在 6 月 9 日
- html - CSS 背景图像,带旋转、重复和不透明度
- angularjs - 重复的本地通知
- google-app-engine - 如何通过 Apps 脚本验证服务帐户以调用 GCP 云功能