You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Artifactory REST API上传含文件及子目录的目录?

Artifactory 目录上传的 REST API 实现说明

Artifactory REST API 确实没有提供直接上传整个目录(包含子目录和文件)的单一接口,你并没有遗漏文档内容。

GUI 和 JFrog CLI 之所以能完成目录上传,本质是它们在底层做了封装:自动遍历本地目录中的所有文件,对每个文件单独调用单个文件上传的 REST API,同时根据文件的相对路径在 Artifactory 中自动创建对应的子目录结构。

如果你想通过 REST API 自己实现目录上传,可以参考以下思路:

  • 遍历本地目标目录下的所有文件,记录每个文件相对于根目录的路径
  • 对每个文件,调用 Artifactory 的单个文件上传接口 PUT /api/storage/{repoKey}/{targetFullPath},其中 targetFullPath 要设置为该文件在 Artifactory 仓库中对应的完整路径(和本地相对路径一致),请求体为文件内容

举个简单的 bash 脚本示例(用 curl 实现):

# 本地待上传目录
LOCAL_DIR="./my-local-dir"
# Artifactory 仓库名
REPO_KEY="my-repo"
# Artifactory 地址和认证信息
ARTIFACTORY_URL="https://your-artifactory-instance/artifactory"
AUTH="username:password"

# 遍历目录下所有文件,逐个上传
find "$LOCAL_DIR" -type f | while read -r FILE; do
  # 计算文件相对于本地目录的路径
  RELATIVE_PATH=$(realpath --relative-to="$LOCAL_DIR" "$FILE")
  # 拼接 Artifactory 中的目标路径
  TARGET_PATH="$REPO_KEY/$RELATIVE_PATH"
  # 执行上传请求
  curl -u "$AUTH" -X PUT "$ARTIFACTORY_URL/$TARGET_PATH" -T "$FILE"
done

内容的提问来源于stack exchange,提问作者Jane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 00:25:19