Загрузка файлов в каталог с помощью основного веб-приложения ASP.NET, размещенного в Azure. - PullRequest
0 голосов
/ 19 декабря 2018

Я использую службу приложений Azure с базой данных SQL Azure для размещения основного веб-приложения ASP.NET.

Это приложение включает загрузку документов в каталог.На моем локальном компьютере разработчика я просто использую:

var fileUploadDir = $"C:\\FileUploads";

В Azure, какую функцию я бы использовал для создания структуры каталогов и размещения файлов в структуре каталогов, используя:

var filePath = Path.Combine(fileUploadDir, formFile.FileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
     await formFile.CopyToAsync(stream);
}

ЧтоБуду ли я использовать функцию Azure, и есть ли API для действий с файловой системой, или я могу просто обновить fileUploadDir, который использует мой существующий код, с помощью пути к каталогу Azure?

1 Ответ

0 голосов
/ 19 декабря 2018

Служба приложений Azure позволяет загружать файл таким же образом.Вам просто нужно создать свой каталог в папке wwwroot.Если у вас есть несколько экземпляров, эта папка будет совместно использоваться между ними, как указано в документации Доступ к файлам в нескольких экземплярах :

Доступ к файлам в нескольких экземплярах Домашний каталог содержит приложениясодержание и код приложения могут писать в него.Если приложение запускается в нескольких экземплярах, домашний каталог является общим для всех экземпляров, поэтому все экземпляры видят один и тот же каталог.Так, например, если приложение сохраняет загруженные файлы в домашний каталог, эти файлы сразу становятся доступны всем экземплярам.

Тем не менее, в зависимости от потребностей вашего приложения, лучшим решением может бытьиспользуйте хранилище больших двоичных объектов для управления вашими файлами, особенно если они должны сохраняться.Использование BLOB-объектов также может быть полезно, если вы хотите запустить асинхронную обработку с помощью функции Azure после загрузки, например.

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

Хранилище больших двоичных объектов решает проблемы доступа пользователей к файлам в домашнем каталоге, позволяет полагаться на службу, выделенную для хранилища, а не на простое хранилище файловой системы типа, связанное со службой приложения.Запись, удаление просты и предоставляют множество других возможностей: прямой доступ через службу REST, доступ через сигнатуру общего доступа, асинхронную обработку ...

...