如何在asp.net中获取文件上传控件中的文件路径

时间:2012-03-30 12:30:40

标签: c# asp.net

  

可能重复:
  Get full path of a file with FileUpload Control

我想在文件上传控件中选择文件时获取文件的路径。

例如。如果我的文件放在C:\Documents and Settings\example.txt

当我使用文件上传控件浏览它时,我将如何获得此C:\Documents and Settings\example.txt路径。

3 个答案:

答案 0 :(得分:3)

<强> Googling ASP.NET Upload Control yielded this as the first result

protected void UploadButton_Click(object sender, EventArgs e)
{
    if(FileUploadControl.HasFile)
    {
        try
        {
            string filename = Path.GetFileName(FileUploadControl.FileName);
            FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
            StatusLabel.Text = "Upload status: File uploaded!";
        }
        catch(Exception ex)
        {
            StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
        }
    }
}

编辑 - 现在完全理解您的问题,这实际上是一个已被问过的问题。看看 Get full path of a file with FileUpload Control ,看一下最高评价的答案。

答案 1 :(得分:2)

根据您的客户端使用的浏览器和操作系统,您可能无法获得整个路径 - 这完全取决于浏览器为您提供的内容。

According to this(见下图),Windows XP上的IE提供了整个路径,但在Windows 7上只提供了文件名。

仅提供文件名是预期的行为。

答案 2 :(得分:1)

出于安全原因,您不能获取fileName。

使用FileUploadControl的FileName属性

FileUploadControl.FileName

阅读此博客:http://weblogs.asp.net/ashicmahtab/archive/2009/05/20/fileupload-control-doesn-t-give-full-path-help.aspx