Возможность загрузки файла локально, но не из Azure

У меня есть следующий метод действия (как предложено от Vague).

public IActionResult Document(string name)
{
  try
  {
    var filepath = $"wwwroot/{name}";
    byte[] fileBytes = System.IO.File.ReadAllBytes(filepath);
    return File(fileBytes, "application/x-msdownload", name);
  }
  catch (Exception exception) { return Ok(exception.Message) }
}

Когда я выполняю локально, я получаю файлы, как и ожидалось. Однако при загрузке в Azure я получаю сообщение об ошибке, что путь неверный.

Не удалось найти часть пути «D:\Windows\system32\wwwroot\doc02.doc».

Предполагая, что речь идет о неправильном пути, я пробовал все комбинации префиксов с «~», «.», «./» и т. д., которые я мог придумать. Через несколько часов я понимаю, что это страус (можно пробовать и пробовать, но он не полетит).

Что я могу упустить?

Ставлю файлы "всегда загружать", конечно. И я проверил, введя URL-адрес указанных файлов (они находятся в корневом каталоге, прямо рядом с logo.gif).


person Konrad Viltersten    schedule 15.02.2019    source источник
comment
Как насчет хранения всего пути в БД? или сохранить их в таком месте, как D:\AppFiles\, если это возможно. Кстати, вы уверены, что хотите сохранить docs в папке статических файлов?   -  person Joelty    schedule 15.02.2019
comment
@Joelty Нет, я уверен, что нет. Но кажется, что нужно много работать, чтобы защитить их лучше. Если у вас нет предложения о том, как...   -  person Konrad Viltersten    schedule 15.02.2019
comment
Я сохраняю файл где-то на диске (вне приложения), сохраняя его путь в БД и идентифицируя его с помощью идентификатора (Guid), например localhost:5000/download/{guid}, который затем проверяет разрешения и всю бизнес-логику, а затем достигает файла с диска с путем из БД.   -  person Joelty    schedule 18.02.2019
comment
@Joelty Спасибо за подсказку. Я это сделаю. :)   -  person Konrad Viltersten    schedule 19.02.2019