невозможно создать абсолютный путь к файлу при развертывании в Azure - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь создать чат-бота и затем развернуть его в своей учетной записи Azure. Проблема в том, что мне иногда нужно публиковать документы в обсуждении в качестве ответа, и абсолютный путь к файлу не работает, когда бот депортируется. на лазурном, но он работает на моем локальном хосте.

var imagePath = HttpContext.Current.Server.MapPath("~/Files/mutuelle.pdf");

это код для генерации пути к файлу. При развертывании в Azure ссылка на файл:

https://*******.azurewebsites.net/dev/wwwroot/Files/mutuelle.pdf

и я предполагаю, что проблема в том, что переменная imagePath равна только

https://*******.azurewebsites.net/Files/mutuelle.pdf.

Так что у меня проблема с генерацией абсолютного пути к файлу в Azure (dev / wwwroot /). Может кто-нибудь показать мне решение, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Вы можете создать папку в вашем проекте, скажем / Содержание, и сохранить все файлы, которые вам нужно отправить, в этой папке.

При развертывании в Azure вы можете добавить размещенный вами URL в файл web.config как

<appSettings>      
<add key="HostedUrl" value="https://**.azurewebsites.net/Content/" />
<appSettings>

Тогда в вашем диалоге вы можете установить путь к изображению как:

private static string contentUrl = ConfigurationManager.AppSettings["HostedUrl"];    
var imageUrl = contentUrl + "imageName.png";
0 голосов
/ 04 мая 2018

Лично я обращаюсь к своему файлу в Azure с помощью относительного пути с помощью следующей команды, мой файл находится в папке Credential в моем проекте VS, и все работает нормально.

System.Web.HttpContext.Current.Server.MapPath("..\\Credential\\XXX.json");
...