FileUpload控件(UploadButton.PostedFile.FileName)

时间:2012-11-29 05:40:39

标签: asp.net

最近我在asp上开发了一个代码,需要将文件上传到服务器。 正如我从网上发现的那样,为了查看文件的本地文件,可以通过执行UploadButton.PostedFile.Filename来完成。

string fileName = UploadButton.PostedFile.Filename;

这将显示整个本地路径(例如C:\ Documents and Settings \ christopher.lim \ Desktop \ HelloWorld.txt)。

如果在我的桌面上运行代码(我的PC就是服务器本身),这工作正常但是当我将代码转移到测试服务器并在我的桌面上尝试它(PC是客户端)时,它只显示我的文件名而不是整个路径。

示例:

string fileName = UploadButton.PostedFile.Filename;

Response.Write("FileName: " + fileName);

1)本地PC - > C:\ Documents and Settings \ christopher.lim \ Desktop \ HelloWorld.txt

2)测试服务器 - > HelloWorld.txt

P / S:很抱歉,如果它让人困惑,因为我是服务器客户端的新手。如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:2)

根据MSDN -

  

FileName属性返回的文件名不包含   客户端上文件的路径。

虽然在本地系统上确实可以获得完整路径,但是当您在服务器上运行它时,它只会返回文件名。

另外,FYI文件上传控件在不同的浏览器中表现不同。在firefox中你可能只使用fileupload.postedfile.filename获取文件名而不是完整路径,而在IE中同样的东西可能会显示完整路径。

但是,从客户端系统上传的文件路径无关紧要,因为只有文件名绰绰有余,但如果仍有需要,请尝试Path.GetFileName(filename) MSDN link