сохранение файлов в файл Azure с помощью asp.net

Цель того, что я пытаюсь сделать, - сделать фотографию и загрузить ее с помощью зоны сброса (какая зона сброса работает нормально для того, как я ее реализовал) и загрузить ее в файловую систему NTFS. Я сохраняю «путь загрузки» на свой SQL-сервер, чтобы позже я мог быстрее загрузить изображение. Проблема, с которой я сталкиваюсь, заключается в том, что я понятия не имею, как загружать свои изображения в файловую систему Azure. Кроме того, из того, что я понял, хранилище больших двоичных объектов - это не совсем то, что мне нужно использовать, поскольку оно основано на типе формата хранения таблиц, который не использует ntfs.

Я пытался исследовать это, и я понятия не имею, с чего начать... я прочитал несколько статей в MSDN, чтобы попытаться понять это, но кажется, что все, что я продолжаю находить, скорее относится к хранилищу BLOB.

                foreach (string filename in Request.Files)
            {
                HttpPostedFileBase file = Request.Files[filename];
                fname = file.FileName;
                if (file != null && file.ContentLength > 0)
                {

                    var path = Path.Combine(Server.MapPath("~/uploadeimg"));
                    string pathstring = Path.Combine(path.ToString()); 
                    string filename1 = Guid.NewGuid() + Path.GetExtension(file.FileName);
                    bool isexist = Directory.Exists(pathstring);
                    if (!isexist)
                    {
                        Directory.CreateDirectory(pathstring);
                    }
                    uploadpath = string.Format("{0}\\{1}", pathstring, filename1);
                    file.SaveAs(uploadpath);

Что касается документации, следующие ссылки - это то, что я прочитал и просмотрел.

Отправка файлов в хранилище Azure с помощью веб-страниц ASP.NET https://docs.microsoft.com/en-us/azure/storage/files/storage-dotnet-how-to-use-files

https://docs.microsoft.com/en-us/azure/storage/files/storage-dotnet-how-to-use-files

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-dotnet-how-to-use-blobs

Я ценю любую помощь, которую вы, ребята, можете оказать. Я хочу получить больше опыта в этом типе программирования, и я просто решил поиграть и посмотреть, что я могу с ним сделать.

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


person Mitaku    schedule 15.01.2018    source источник
comment
который основан на типе формата хранения таблиц, который не использует ntfs — при чем тут NTFS?   -  person stuartd    schedule 15.01.2018
comment
Актуальность заключается в том, что из того, что я провел, они сказали, что быстрее просто сохранить местоположение файла в базе данных sql и просто передать это местоположение обратно, когда вы хотите просмотреть изображение. Вот где я получил это от stackoverflow.com/questions/3748/   -  person Mitaku    schedule 15.01.2018


Ответы (2)


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

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

Проверьте https://docs.microsoft.com/en-us/azure/storage/common/storage-decide-blobs-files-disks?toc=%2fazure%2fstorage%2ffiles%2ftoc.json#comparison.-files-and-blobs, чтобы получить четкое сравнение между файлами Azure и большими двоичными объектами.

person Sacha Bruttin    schedule 15.01.2018
comment
Я не знал, что все они имеют свой собственный URL: O, это очень полезно! - person Mitaku; 15.01.2018
comment
Это решило мою проблему, и это тоже довольно быстро! Спасибо, я вообще не знал об этом URL-адресе, но да, это мне очень помогло! - person Mitaku; 17.01.2018

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

Для веб-приложений Azure не удалось подключить общий файловый ресурс Azure. По умолчанию содержимое веб-приложения Azure хранится в службе хранилища Azure, которой управляет сторона Azure. Вы можете просто использовать доступ к домашнему каталогу (d:\home) и хранить свои файлы в Azure Web. Подробная информация о файловой системе, которую вы можете отслеживать в песочнице Azure Web App. Раздел «Ограничения/Соображения».

Таким образом, мы рекомендуем хранить файлы в хранилище BLOB-объектов Azure. И вы можете использовать клиентскую библиотеку хранилища azure для связи с вашим хранилищем BLOB-объектов. to-use-blobs" rel="nofollow noreferrer">здесь.

person Bruce Chen    schedule 17.01.2018