![](/img/trans.png)
[英]How to get GitLab project name by using Project id in GitLab API
[英]Upload image in gitlab project using gitlab API
我正在尝试在 gitlab 的项目中上传图像。 根据文档,它不应该是火箭科学。 我试图将图像作为 url 和 base-64 表示传递。 如果我对 base-64 URL 进行编码,则会有一点进展 - 内部服务器错误。 有任何想法吗? 谢谢!
既然你没有提到你想如何上传..
带卷曲:
curl --request POST --header "PRIVATE-TOKEN: XXXXXXXXXX" --form "file=@dk.png" https://gitlab.example.com/api/v4/projects/5/uploads
5 是您的项目的 id。
根据这篇文章: 使用 base64 编码图像文件
我们可以理解如何将二进制文件转换为 base64 字符串,包括图像、zip 或 pickle 等。这是我的代码的一部分。 希望它有帮助。
import gitlab
def test_upload_img_to_repo():
gitlab.Gitlab(url=HOST, private_token=PERSONAL_TOKEN)
project = gl.projects.get(project_id)
file_path = path.join(path.dirname(__file__), 'test_upload.txt')
img_path = path.join(path.dirname(__file__), 'logo.png')
data = {
'branch': 'master',
'commit_message': 'blah blah blah',
'actions': [
{
'action': 'update',
'file_path': 'upload.txt',
'content': open(file_path).read(),
},
{
# Binary files need to be base64 encoded
'action': 'create',
'file_path': '/folder/logo.png',
'content': base64.b64encode(open(img_path,'rb').read()).decode(),
'encoding': 'base64',
}
]
}
commit = project.commits.create(data)
print(commit)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.