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

CVAT项目中任务创建成功但文件上传失败,求技术解决方案

CVAT任务文件上传失败的修复方案

问题诊断

你的上传代码存在三个核心问题:

  • 请求URL未正确替换task_id变量,导致请求地址无效
  • 错误使用server_files参数传递本地文件路径,该参数仅用于指定CVAT服务器已存在的文件
  • 未通过requests的files参数正确传递本地文件对象

修复后的代码

import requests

task_id = 8
# 正确替换task_id到URL中
link = f'http://xx.x.xxx.xx:8080/api/tasks/{task_id}/data/'

Header = {
    "X-Organization": "ABC_labelling"
}

# 构造文件上传对象:用字典格式,key为"client_files",value是打开的文件对象列表
files = [
    ('client_files', open('/Users/username/Documents/images/abc001.tif', 'rb')),
    ('client_files', open('/Users/username/Documents/images/abc002.tif', 'rb'))
]

# 上传参数:保留image-quality,无需server_files
d = {
    "image-quality": 70
}

# 发送请求:用files参数传递文件,不要在data里放文件路径
r = requests.post(link, data=d, files=files, headers=Header, auth=('username','pw'))

# 打印响应信息排查问题
print(r.status_code)
print(r.text)

关键说明

  • URL替换:使用f-string把task_id变量嵌入URL,确保请求地址指向正确任务
  • 文件传递方式:CVAT API上传本地文件需要用client_files作为key,通过requests的files参数传递二进制打开的文件对象;server_files仅用于引用服务器上已存在的文件路径
  • Headers调整:小文件单次上传无需Upload-Start和Upload-Finish头,分块上传时才需逐步设置这两个头控制流程
  • 调试建议:打印响应状态码和文本,可快速定位权限、路径、格式类问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:52:41