【问题标题】:unable to download zip file from ADO via api无法通过 api 从 ADO 下载 zip 文件
【发布时间】:2021-03-06 17:24:44
【问题描述】:

我正在尝试通过 API 下载一些附加到 ADO 中的工作项的文件

为此,我正在使用这个 powershell 脚本

$organization= "<org name>"
$projectName = "<project name>"
$token = "<Azure token>"

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "",$token)))

$url = "https://dev.azure.com/$organization/$projectName/_apis/wit/attachments/{attachment ID}?fileName={file name}&download=true&api-version=5.0"

$result = Invoke-RestMethod -Uri $url -Method Get -ContentType "application/zip" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} | Out-File 'file name'

使用此脚本我可以下载任何文本文件,但是当我下载任何 zip 文件时,它无法打开

它给出了错误提示

压缩(压缩)文件夹“{FilePath\FileName} 无效。”

【问题讨论】:

  • 嗨@anant。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒this

标签: powershell api azure-devops


【解决方案1】:

压缩(压缩)文件夹“{FilePath\FileName} 无效。”

我已经测试了你的样本并重现了同样的问题。

要解决此问题,您需要将| Out-File 'file name' 更改为-OutFile 'file name'

这是一个例子:

$result = Invoke-RestMethod -Uri $url -Method Get -ContentType "application/zip" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -OutFile 'file name'

然后就可以成功打开zip文件了。

【讨论】:

  • 感谢您的解决方案,您的解决方案运行良好
猜你喜欢
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 2020-12-04
  • 1970-01-01
  • 2020-02-07
  • 2021-12-08
相关资源
最近更新 更多