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

使用cURL上传文件时出现0字节文件问题求助

cURL 文件上传问题排查与正确用法

核心问题分析

你当前用--data-raw手动构造multipart/form-data请求体的方式存在本质错误:

  • --data-raw只会将你编写的字符串原封不动发送给服务器,不会解析@/full/path/foo.csv去读取本地文件内容,导致服务器收到的文件部分为空,最终生成0字节文件。
  • 手动构造的请求体还存在语法错误:比如forma-data是拼写错误(应为form-data),边界格式、参数换行也不符合标准multipart协议要求。

正确的cURL文件上传写法

cURL专门提供了-F(或--form)参数处理multipart/form-data类型请求,它会自动处理边界、请求头,并正确读取本地文件内容。针对你的三个参数,正确命令如下:

curl -X POST \
  -F "App=location/in/the/server/" \
  -F "file=@/full/local/path/foo.csv;type=text/csv" \
  -F "directory=/upload/location/" \
  你的服务器上传URL

参数说明

  • -F "App=location/in/the/server/":直接用key=value格式传递App参数
  • -F "file=@/full/local/path/foo.csv;type=text/csv":
    • @符号告诉cURL读取后续路径的本地文件作为字段内容
    • ;type=text/csv指定文件的Content-Type,匹配你的需求
    • 若文件在脚本运行目录下,可直接写@foo.csv
  • -F "directory=/upload/location/":传递directory参数

常见错误排查

  • 文件路径验证:确保@后的路径正确,本地文件存在且有读取权限,可通过ls /full/local/path/foo.csv验证路径有效性。
  • 请求方法适配:若服务器要求PUT方法,添加-X PUT即可。
  • 额外请求头补充:若服务器需要特定请求头(如Authorization),可通过-H "Authorization: Bearer xxx"添加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 14:12:39