找不到添加一个文件到gitlab仓库中的api

找了几天都没有找到《提交一个文件到项目仓库中》的api,希望能获得帮助!
(commit那个api只能在content字段中填写内容,没法上传图片等非文本格式的文件)
(Upload那个api只能将文件上传到项目中,但并不是上传到项目仓库中)

还是用commit api,只不过要改下encoding格式,从默认的text改成base64,图片也得先转成base64:

Demo:

cat test.png | base64 > test.base64

curl --request POST \
     --form "branch=main" \
     --form "commit_message=upload pic" \
     --form "start_branch=main" \
     --form "actions[][action]=create" \
     --form "actions[][file_path]=foo/test.png" \
     --form "actions[][encoding]=base64" \
     --form "actions[][content]=</root/test.base64" \
     --header "PRIVATE-TOKEN: xxxxxxxxxxx" \
     "https://gitlab.example.com/api/v4/projects/1/repository/commits"

谢谢!问题解决了!
报一个不知道算不算bug的问题
使用上传单个文件的API,在Java中使用restTemple发送请求,如果直接把带"/“的路径填在url中,并不能像文档中描述的会将%2F自动转换为”/",比如我在url填写https://jihulab.com/api/v4/projects/1/repository/files/homework%2Ftest%2Etxt,希望的是添加为homework目录中的test.txt文件,但实际上会直接在项目根目录下添加一个名为homework%2Ftest%2Etxt的文件。