我在使用TFS Rest API for Git检索树时遇到问题。
相关代码是
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Accept", 'application/zip')
$DownloadTreeCmd = "http://tfs.mycompany.com:8080/tfs/myCollection/_apis/git/repositories/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx/trees/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?api-version=1.0&filename=TempDownload.zip&recursive=1"
$nresp = Invoke-RestMethod $DownloadTreeCmd -UseDefaultCredentials -Headers $headers
我最终得到了一些我无法读懂的东西。我已经尝试将其写入文件,但它不被识别为zip文件。我可以看到我的数据似乎是二进制数据。
我应该如何处理这些数据。
答案 0 :(得分:0)
它正在运作,但我无法解释它之前为什么不起作用。
我让这个工作,但我不确定我理解这一点。 uri上的filename参数似乎没有做任何事情。返回的对象无法保存到.zip类型的文件中(实际上您可以保存它,但zip不会将其识别为存档)。
为了完成这项工作,我只是从uri请求中删除了文件名,并将-OutFile xxxx.zip添加到Invoke-RestMethod cmdlet。