无法通过 api 从 ADO 下载 zip 文件
Posted
技术标签:
【中文标题】无法通过 api 从 ADO 下载 zip 文件【英文标题】:unable to download zip file from ADO via api 【发布时间】: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。 【参考方案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文件了。
【讨论】:
感谢您的解决方案,您的解决方案运行良好以上是关于无法通过 api 从 ADO 下载 zip 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在前端使用 Angular 从 PHP Laravel API 下载 zip 文件?
无法从 dist 下载 symfony/finder:解压 ZIP 文件时出错。损坏的文件?
React - 从字节字符串中的 API 响应正文下载 Zip 文件?