Должен ли я создавать свою папку для загрузки файлов под wwwroot внутри Visual Studio?

Если бы я следил за этим пример, загрузки файлов сохранялись бы в файле wwwroot. Насколько я понимаю, в этом файле вы должны хранить статические файлы, которые будут обслуживаться пользователем. Конечно, я хочу, чтобы мои пользователи могли скачивать, но есть ли файловая система, специфичная для asp.net core / IIS / Windows Server 2012, которая была бы лучше всего? Я ожидаю, что через несколько лет максимум будет около 10 000 файлов.

Планирую создать папку для загруженных документов, просто не знаю, где ее разместить.

Примечание: предоставленного ответа здесь было недостаточно

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
1 532
2

Ответы 2

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

Если вы хотите обеспечить безопасность на уровне контроллера (например, пользователь может просматривать только свои собственные файлы), то, вероятно, лучше разместить их в другом месте файловой системы. Путь может быть произвольным, но настройки безопасности в папке должны быть установлены таким образом, чтобы процесс dotnet мог получить к ней доступ. Вы можете предоставить всем полный доступ или ввести более строгие ограничения, если сочтете нужным. Это делается непосредственно в ОС сервера, если у вас есть к ней доступ.

Файлы конфиденциальны, поэтому я буду хранить их вне wwwroot. Только что нашел строку «Хранить их вне wwwroot и любого каталога, доступного для промежуточного программного обеспечения статических файлов и ...» в документах, в которых это указано. : | Вероятно, следует прочитать это более внимательно ... ссылка на документы -> docs.microsoft.com/en-us/aspnet/core/fundamentals/…

IEnjoyEatingVegetables 08.08.2018 22:31

Если путь произвольный, я могу просто щелкнуть правой кнопкой мыши проект -> Добавить -> Новая папка и сохранить их там, или я могу создать папку на сервере, верно? Не должно иметь значения?

IEnjoyEatingVegetables 08.08.2018 22:32

Да, в любом случае будет работать. Если вы вводите IHostingEnvironment в свою службу, вы можете использовать hostingEnvironment.ContentRootPath, чтобы получить абсолютный путь к верхнему уровню вашей файловой структуры, как показано в Visual Studio. hostingEnvironment.WebRootPath дает вам абсолютный путь к wwwroot.

Dave Smash 08.08.2018 22:40

На самом деле было бы лучше полностью исключить его из вашего проекта. Таким образом, нет никаких шансов случайно зафиксировать что-либо в системе управления версиями, и вы можете развернуть несколько копий вашего приложения (сценарии балансировки нагрузки и т. д.), Которые все читают / пишут из общего каталога. Вы можете использовать свою конфигурацию, чтобы указать каталог, а затем также отключить его в зависимости от среды.

Chris Pratt 09.08.2018 17:08

@ChrisPratt хотите оставить ответ?

IEnjoyEatingVegetables 10.08.2018 19:33

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

Другие вопросы по теме