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

Windows CMD下正确的CURL文件上传命令求助

修正Windows CMD下的curl文件上传命令,解决token缺失错误

我需要在Windows CMD环境下使用curl命令向指定API上传文件,但当前命令执行失败,报错信息如下:

{"message":"The given data was invalid.","errors":{"token":["The token field is required."]}}

提供的PHP参考代码

<?php
$path = '/path/to/local/file';
$cFile = curl_file_create($path);
$token = '0123456789';
$post = array('token' => $token, 'file' => $cFile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.myfiles.com/upload');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if(isset($result['status']) && $result['status'] === 'success') {
echo $result['url'];
} else {
echo $result['message'];
}
?>

API参数说明

ParameterValueDescription
Endpointhttps://api.myfiles.com/upload接收请求的API端点
token0123456789请求授权所需的认证令牌
file你的文件要上传的文件
folder_alias(可选)你的文件夹别名上传文件的目标文件夹(可选参数)

当前使用的错误curl命令

curl --insecure -X POST https://api.myfiles.com/upload 'Authorization: Bearer 0123456789' -H 'Content-Type: application/json' -F "file=@c:\myfiles\file.pdf"

修正后的curl命令

基础版(仅必填参数)

curl --insecure -X POST https://api.myfiles.com/upload -F "token=0123456789" -F "file=@c:\myfiles\file.pdf"

带可选文件夹参数版

curl --insecure -X POST https://api.myfiles.com/upload -F "token=0123456789" -F "file=@c:\myfiles\file.pdf" -F "folder_alias=你的文件夹别名"

错误原因说明

  1. token传递方式错误:原命令尝试通过Authorization请求头传递token,但API要求token作为表单字段提交,参考PHP代码也是将token放在POST表单数组中。
  2. Content-Type设置错误:文件上传需要使用multipart/form-data格式,curl使用-F参数时会自动设置正确的Content-Type,无需手动指定application/json,后者会导致API无法解析表单数据。
  3. 语法错误:原命令中的'Authorization: Bearer 0123456789'缺少-H前缀,属于无效参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:25:09