API Azure kudu vfs не поддерживает имена файлов, в которых есть «#»

Я использую API kudu vfs для синхронизации двух папок между двумя лазурными веб-сайтами. Для этого я загружаю файлы с 1-го сайта, которые не находятся на 2-м веб-сайте и загружают их на второй сайт.

Скачать файл:

 Invoke-RestMethod -Uri $kuduApiUrl `
                    -Headers @{"Authorization"=$kuduApiAuthorisationToken;"If-Match"="*"} `
                    -Method GET `
                    -OutFile $localPath `
                    -ContentType "multipart/form-data"

Загрузить файл:

 $result = Invoke-RestMethod -Uri $kuduApiUrl `
                    -Headers @{"Authorization"=$kuduApiAuthorisationToken;"If-Match"="*"} `
                    -Method PUT `
                    -InFile $localPath `
                    -ContentType "multipart/form-data"

Все работает, если имя файла не содержит в нем. Неудачные случаи: $kuduApiUrl = "https://targetWebAppName.scm.azurewebsites.net/api/vfs/site/wwwroot/Content/Uploads/09.01#Import Listabc.txt"

$kuduApiUrl = "https://targetWebAppName.scm.azurewebsites.net/api/vfs/site/wwwroot/Content/Uploads/#09.01Import Listabc.txt"

Всего 1 ответ


Поскольку # является escape-символом в URI, просто замените # на %23 , он будет работать нормально.

введите описание изображения здесь

введите описание изображения здесь


Есть идеи?

10000