2

最近我在 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:对不起,如果它令人困惑,因为我是服务器客户端的新手。如我错了请纠正我。

4

1 回答 1

2

根据MSDN -

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

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

仅供参考,文件上传控件在不同浏览器中的行为不同。在 Firefox 中,您可能只会使用 fileupload.postedfile.filename 获得文件名而不是完整路径,而在 IE 中,同样的事情可能会显示完整路径。

但是,从客户端系统上传的文件的路径并不重要,因为只有文件名就足够了,但是如果您仍然需要尝试-MSDNPath.GetFileName(filename) 链接

于 2012-11-29T05:50:59.227 回答