Help us learn about your current experience with the documentation. Take the survey.
Markdown 上传 API
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
Markdown 上传是上传到项目的文件,可以在问题、合并请求、代码片段或 Wiki 页面的 Markdown 文本中引用。
上传文件
将文件上传到指定项目,用于问题或合并请求的描述,或评论中。
POST /projects/:id/uploads支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
file |
string | 是 | 要上传的文件。 |
id |
integer or string | 是 | ID 或项目的 URL 编码路径。 |
要从文件系统上传文件,请使用 --form 参数。这会使 cURL 使用 Content-Type: multipart/form-data 标头发布数据。file= 参数必须指向您文件系统上的文件,并且前面必须加上 @。
示例请求:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "[email protected]" "https://gitlab.example.com/api/v4/projects/5/uploads"示例响应:
{
"id": 5,
"alt": "dk",
"url": "/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
"full_path": "/-/project/1234/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
"markdown": ""
}在响应中:
full_path是文件的绝对路径。url可用于 Markdown 上下文。当使用markdown中的格式时,链接会展开。
列出上传文件
获取项目的所有上传文件,按 created_at 降序排列。
先决条件:
- 至少需要 Maintainer 角色。
GET /projects/:id/uploads支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | ID 或项目的 URL 编码路径。 |
示例请求:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads"示例响应:
[
{
"id": 1,
"size": 1024,
"filename": "image.png",
"created_at":"2024-06-20T15:53:03.067Z",
"uploaded_by": {
"id": 18,
"name" : "Alexandra Bashirian",
"username" : "eileen.lowe"
}
},
{
"id": 2,
"size": 512,
"filename": "other-image.png",
"created_at":"2024-06-19T15:53:03.067Z",
"uploaded_by": null
}
]通过 ID 下载上传的文件
通过 ID 下载上传的文件。
先决条件:
- 至少需要 Maintainer 角色。
GET /projects/:id/uploads/:upload_id支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | ID 或项目的 URL 编码路径。 |
upload_id |
integer | 是 | 上传的 ID。 |
如果成功,返回 200 状态码和响应体中的上传文件。
示例请求:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/1"通过密钥和文件名下载上传的文件
通过密钥和文件名下载上传的文件。
先决条件:
- 至少需要 Guest 角色。
GET /projects/:id/uploads/:secret/:filename支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | ID 或项目的 URL 编码路径。 |
secret |
string | 是 | 上传的 32 字符密钥。 |
filename |
string | 是 | 上传的文件名。 |
如果成功,返回 200 状态码和响应体中的上传文件。
示例请求:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"通过 ID 删除上传的文件
通过 ID 删除上传的文件。
先决条件:
- 至少需要 Maintainer 角色。
DELETE /projects/:id/uploads/:upload_id支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | ID 或项目的 URL 编码路径。 |
upload_id |
integer | 是 | 上传的 ID。 |
如果成功,返回 204 状态码,不包含任何响应体。
示例请求:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/1"通过密钥和文件名删除上传的文件
通过密钥和文件名删除上传的文件。
先决条件:
- 至少需要 Maintainer 角色。
DELETE /projects/:id/uploads/:secret/:filename支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | ID 或项目的 URL 编码路径。 |
secret |
string | 是 | 上传的 32 字符密钥。 |
filename |
string | 是 | 上传的文件名。 |
如果成功,返回 204 状态码,不包含任何响应体。
示例请求:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"