繁体   English   中英

ASP.NET保留上传的文件名

[英]ASP.NET Keep uploaded file name

我想保留上载的文件名,以使用户可以使用相同的名称下载文件。 但是我该如何实施呢? 我看到的一个选择是将每个文件存储到具有唯一名称(例如GUID)的文件夹中。 还有其他选择吗?

上传文件后,您可以提取其名称:

[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是一个不错的选择),然后将此唯一的名称与实际的文件名和用户相关联,以便以后他要下载文件时可以进行映射。

我认为GUID是更好的选择,但我们通常在办公室DateTime

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM