C# 如何获取asp.net mvc 5应用程序中临时文件夹中存储的文件的全名?
我有一个应用程序是在ASP.NET MVC 5框架上用c#on the top编写的。我的一个页面允许用户将文件上载到服务器。因此,我使用C# 如何获取asp.net mvc 5应用程序中临时文件夹中存储的文件的全名?,c#,asp.net-mvc,asp.net-mvc-5,httppostedfilebase,C#,Asp.net Mvc,Asp.net Mvc 5,Httppostedfilebase,我有一个应用程序是在ASP.NET MVC 5框架上用c#on the top编写的。我的一个页面允许用户将文件上载到服务器。因此,我使用HttpPostedFileBase将文件上载到服务器 但是,在将文件保存到永久位置时,我希望能够提取文件的全名,并在将其移动到永久位置之前对其进行处理 如何获取上传文件的临时全名 我尝试了以下操作,但是检查File.Exists(tempFullname)总是失败 public string GetFullname(HttpPostedFileBase fi
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;
}
要获取需要先保存文件的文件的全名,如果您不先保存文件,我将无法获取文件的位置
var filePath = Path.Combine(Server.MapPath("<A folder you want>"), file.FileName);
file.Save(filePath);
var filePath=Path.Combine(Server.MapPath(“”),file.FileName);
保存(filePath);
这样,filePath就是文件的完整路径为什么它会存在?@SamAxe也许我不知道上传过程。但在我看来,当上传文件时,它会自动放入临时文件夹,然后我的一个朋友选择使用
SaveAs()
方法将其移动到永久位置。除非您编写代码将文件放在磁盘上,否则该文件在磁盘上不存在。该文件仅作为字节流存在于内存中(附加到HttpPostedFileBase实例;InputStream属性),直到您将其复制到某个位置。文件数据位于文件
变量的内存中,而不是其他位置。临时文件夹根本不涉及。