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

求助:使用PowerShell调用Invoke-RestMethod上传CSV至4me/xurrent接口报错

问题排查与解决

错误原因

错误提示中的路径包含System.Collections.Hashtable,核心问题是误用了Invoke-RestMethod的-InFile参数:

  • -InFile要求传入单个文件路径字符串,但你传入了整个哈希表$importBody
  • PowerShell尝试将哈希表转换为字符串时,得到了System.Collections.Hashtable,拼接到用户路径后形成无效路径,最终触发文件找不到的错误

解决方法

修改代码,使用-Form参数处理多部分表单数据(同时上传文件和其他字段),并移除手动设置的Content-Type头(PowerShell会自动生成正确的multipart/form-data请求头):

$importUrl = "https://api.xurrent.qa/v1/import"
# Create the headers for the import request
$ImportHeaders = @{
    Authorization = "Bearer $bearerToken"
    "X-4me-Account" = "XXX"
}
# Create the body for the import request
$importBody = @{
    file = Get-Item $ImportFile  # 转换为FileInfo对象,确保PowerShell正确识别文件
    type = "cis"
}
# QA Import to Xurrent with PROXY
$importResponse = Invoke-RestMethod -Method Post -Uri $importUrl -Headers $ImportHeaders -Form $importBody

关键修改点

  1. 移除ImportHeaders中的"Content-Type" = "multipart/form-data":手动设置会覆盖PowerShell自动生成的带边界标识的正确请求头,导致服务端无法解析表单内容
  2. 将-inFile $importBody替换为-Form $importBody:-Form参数专门用于处理multipart/form-data类型的请求,支持同时传递文件和普通表单字段
  3. 用Get-Item $ImportFile将文件路径转换为FileInfo对象:确保PowerShell能正确识别并读取目标文件的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:49:51