Я хочу, чтобы моя папка «Uploads» находилась на файловом ресурсе.
Причина, по которой я хочу это: Резервный интерфейс.
Поэтому вместо сохранения в:
C: \ inetpub \ wwwroot \ wwwroot \ Uploads
Загрузки должны быть сохранены в:
\\ fileshare01 \ MyWebsite \ Uploads
Я знаю, что VirtualDirectories существует.Это работает для чтения с файлового ресурса, но запись в каталог Uploads все еще выполняет запись на локальный диск.Таким образом, с помощью VirtualDirectories я могу получить доступ к http://localhost/Uploads/myfile.png, который на самом деле находится на файловом ресурсе, НО новые файлы там не записываются!
Здесь (упрощенно) как я сохраняю файлы:
IFormFileCollection files = Request.Form.Files;
var file = files.First();
using (var stream = new FileStream(@"Uploads\myfile.png", FileMode.Create))
{
await file.CopyToAsync(stream);
}
Когда я пытаюсь сохранить новый сетевой путь как абсолютный путь, мне кажется, что мне требуются более высокие разрешения, и в результате возникает ошибка 500.30.Я думаю, потому что у пользователя пула приложений слишком мало прав, что я считаю хорошей вещью.
Мой вопрос:
Как эта проблема решается в качестве хорошей практики?Разве все не должно работать автоматически при настройке VirtualDirectory, включая запись?