Пример:
я есть действие контроллера, которое загружает файл из лазурного большого двоичного объекта на основе ссылочного имени контейнера (то есть полного пути к файлу в большом двоичном объекте). Код выглядит примерно так:
public FileContentResult GetDocument(String pathName)
{
try
{
Byte[] buffer = BlobStorage.DownloadFile(pathName);
FileContentResult result = new FileContentResult(buffer, "PDF");
String[] folders = pathName.Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries);
// get the last one as actual "file name" based on some convention
result.FileDownloadName = folders[folders.Length - 1];
return result;
}
catch (Exception ex)
{
// log error
}
// how to handle if file is not found?
return new FileContentResult(new byte[] { }, "PDF");
}
BlobStorage
класс есть мой вспомогательный класс для загрузки потока из BLOB-объекта.
Мой вопрос сформулирован в комментарии к коду: как мне обработать сценарий, когда файл / поток не найден? В настоящее время я передаю пустой файл PDF, который я считаю не лучшим способом сделать это.