使用fileupload控件获取文件的路径

时间:2010-11-22 06:19:43

标签: c# asp.net file-upload

我正在使用fileupload控件在文本框中显示文本文件的内容..如果我使用此

<asp:FileUpload ID="txtBoxInput" runat="server" Text="Browse" />

string FilePath = txtBoxInput.PostedFile.FileName;

它只会获得bala.txt这样的文件名。我需要这样D:\New Folder\bala.txt

我使用textbox来获取类似D:\New Folder\bala.txt

的路径,而不是fileupload控件
<asp:TextBox ID="txtBoxInput" runat="server" Width="451px"></asp:TextBox>

string FilePath = txtBoxInput.Text;

但我需要浏览按钮而不是文本框来获取路径...任何建议??

编辑:我的按钮点击事件

protected void buttonDisplay_Click(object sender, EventArgs e)
{
    string FilePath = txtBoxInput.PostedFile.FileName;
    if (File.Exists(FilePath))
    {
        StreamReader testTxt = new StreamReader(FilePath);
        string allRead = testTxt.ReadToEnd();
        testTxt.Close();
    }
}

2 个答案:

答案 0 :(得分:7)

只有在处于调试模式但部署应用程序时,才能从FileUpload控件获取文件名和路径。在服务器中,你不能,因为这是你试图通过服务器端代码访问的客户端地址。

                 
protected void Button1_Click(object sender, EventArgs e)
{
    string filePath,fileName;
    if (FileUpload1.PostedFile != null)
    {
        filePath = FileUpload1.PostedFile.FileName; // file name with path.
        fileName = FileUpload1.FileName;// Only file name.
    }
}

如果你真的想要更改属性或重命名客户端文件,那么你可以将文件保存在临时文件夹的服务器上,然后就可以做你想要的所有事情了。

答案 1 :(得分:2)