Как получить полное имя файла, хранящегося во временной папке в приложении asp.net mvc 5? - PullRequest
0 голосов
/ 15 мая 2018

У меня есть приложение, написанное с использованием c # в верхней части ASP.NET MVC 5 framework. Одна из моих страниц позволяет пользователю загружать файл на сервер. Поэтому я использую HttpPostedFileBase для загрузки файла на сервер.

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

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

Я попробовал следующее, но проверка File.Exists(tempFullname) всегда не удалась.

public string GetFullname(HttpPostedFileBase file)
{
    string tempFullname = Path.GetTempPath() + file.FileName;

    if(File.Exists(tempFullname))
    {
        return tempFullname;
    }

    return string.Empty;
}

Я также попробовал следующее, но temp.Length сгенерировал исключение, поскольку файл не существует

public string GetFullname(HttpPostedFileBase file)
{
    string temp = new FileInfo(file.FileName);

    if(temp.Length > 0)
    {
        return tempFullname;
    }

    return string.Empty;
}

1 Ответ

0 голосов
/ 15 мая 2018

Чтобы получить полное имя необходимости сначала сохранить файл, я не могу получить местоположение файла, если вы не сохраните его первым!

var filePath = Path.Combine(Server.MapPath("<A folder you want>"), file.FileName);

file.Save(filePath);

Таким образом, filePathполный путь к вашему файлу

...