Azure репозиторий DevOps для загрузки определенного файла из репо с помощью RestApi - PullRequest
1 голос
/ 29 мая 2020

Попытка загрузить определенный файл ab c .pdf из репозитория azure DevOps с помощью RestApi. Мне удалось загрузить требуемый файл, который я хотел, но не смог открыть загруженный файл pdf, а также заметил, что загруженный файл в два раза превышает размер исходного файла в репозитории.

$uri = "https://dev.azure.com/$($organization)/$($project)/_apis/git/repositories/$($repoId)/items?Path=$($appPath)&download=true&api-version=5.1"
$uri = "https://dev.azure.com/$organization/$project/_apis/git/repositories/$repoId/blobs/$($sha1_blob)?download=true&fileName=abc.pdf&api-version=5.1"

$result = Invoke-RestMethod -Uri $uri -Method Get -Headers $header $result | out-file "abc.pdf"

Я использую powershell, чтобы сделать остальные вызовы, и попытался с указанными выше 2 URL-адресами загрузить файл, и он загружает файл, но в два раза больше оригинала .. Я что-то упускаю? это 2 URL рестапи, которые я использовал !!! ссылка для git blob из azure DevOps restapi

ссылка для элементов для загрузки из azure DevOps

1 Ответ

0 голосов
/ 31 мая 2020

проблема была с отдельным $result | out-file "abc.pdf" с кодировками для pdf файла. вместо этого использовал параметр -outfile в самом методе invoke-rest, и файл pdf был успешно скопирован.

Invoke-RestMethod -Uri $uri -Method Get -ContentType "application/json" -Headers $header -outfile "abc.pdf"
...