awaisshabir Ответов: 2

Как получить физический путь, по которому пользователь загружает файл?


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

Что я уже пробовал:

Path строка = объект HttpContext.Тока.Сервер.MapPath("");

2 Ответов

Рейтинг:
7

Wonde Tadesse

Я вижу, вы имеете дело с MVC6 (как показано в теге вопроса). Server.MapPath может не работать. Вам нужно иметь дело с IApplicationEnvironment интерфейс, пространство имен Microsoft.Extensions.PlatformAbstractions чтобы получить путь к серверу. Что-то вроде

private readonly IApplicationEnvironment _appEnvironment;
public HomeController(IApplicationEnvironment appEnvironment)
{
    _appEnvironment = appEnvironment;
}

public IActionResult Index()
{
    var rootPath = _appEnvironment.ApplicationBasePath;
    return View();
}

Подробнее смотрите здесь. Переменные окружения в ASP.NET основные приложения[^]


Рейтинг:
16

Dave Kreskowiak

Когда пользователь загружает файл, он не попадает ни в один каталог. Он все еще находится в объекте запроса, в Files коллекция. Это зависит от вас, чтобы получить контент и сохранить файлы в подходящем месте.

Видеть этот[^] для примера.