如何通过命令行从gitlab项目“上传”下载文件

问题描述 投票:0回答:1

我尝试将curl与私有令牌一起使用:

curl --head --header "PRIVATE-TOKEN: xxxxxxxxx" -L "https://gitlab.name.com/<group>/<project>/uploads/<hash>/file.tar.gz"

但总是重定向到登录页面

curl gitlab
1个回答
0
投票

2020 已在 issue 55520 中提出请求,现在是 issue 25838:

(注意:问题 25838 已在 GitLab 17.2 June 2024 中完成

可以使用 api 上传文件 (

POST /api/v4/:project_id/uploads
),但无法检索上传的文件(过去可以使用 Private-Token 身份验证和网络路由
/:namespace_id/:project_id/uploads/:secret/:file_name

由@Andysoiron编辑:似乎仍然可以使用

/:namespace_id/:project_id/uploads/:secret/:file_name

检索文件

安迪补充道:

。我尝试通过使用

POST /projects/:id/uploads
上传文件,然后使用
GET /:namespace_id/:project_id/uploads/:url
检索它(我从 POST 请求的响应中获取 url)来在本地重现它,并且成功了。

显然

您不能使用

Private-Token
进行身份验证,您需要
Cookie: _gitlab_session
,因为
GET /:namespace_id/:project_id/uploads/:secret/:file_name
来自前端。

因此,作为 issue 197361 的一部分,这项工作正在进行中。

© www.soinside.com 2019 - 2024. All rights reserved.