我正在使用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
<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();
}
}
答案 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)