ASP.NET сохранить загруженное имя файла - PullRequest
2 голосов
/ 06 марта 2011

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

Ответы [ 2 ]

5 голосов
/ 06 марта 2011

Когда файл загружен, вы можете извлечь его имя:

[HttpPost]
public ActionResult Index(HttpPostedFileBase file) 
{
    if (file != null && file.ContentLength > 0) 
    {
        // Get the filename of the uploaded file
        var fileName = Path.GetFileName(file.FileName);
        var savedFilename = Guid.NewGuid().ToString();

        // TODO: Associate the fileName with the savedFilename
        // and probably the currently connected user in the database

        // Save the file inside the Uploads folder
        var path = Path.Combine(Server.MapPath("~/Uploads"), savedFilename);
        file.SaveAs(path);
    }
    return RedirectToAction("Index");
}

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

1 голос
/ 06 марта 2011

Я думаю GUID лучший вариант, но мы обычно используем в офисе DateTime

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...