1

我实际上正在开发一个应用程序,该应用程序为用户提供了上传他们想要的文件的可能性。这些文件在上传后也应该是可视化的。

为了做到这一点,我试图用 Server.MapPath 和其他值的串联来获取文件路径。文件路径在 window.open javascript 函数中作为参数传递。

我的问题是我根本没有得到任何结果。没有打开任何窗口。

这是我的代码:

string completeUrl = Server.MapPath(ConfigurationManager.AppSettings["UsersImagesUploadFolder"] + CurrentUserLogin +
                               @"\\" + ((GridDataItem) e.Item)["Url"].Text);

string radWindowOpen = "<script type='text/javascript'>window.open('" + completeUrl + "')</" + "script>";
 Page.ClientScript.RegisterStartupScript(this.GetType(), "fileDisplay", radWindowOpen);

我可能遗漏了一些明显的东西,但我不明白它是什么。

谢谢您的回答。

4

1 回答 1

2

正如 Damien 所指出的,Server.MapPath用于服务器端路径映射。客户需要看到您的网络应用程序下方的路径。

例如:

Page.ResolveUrl("~/uploads/" + ConfigurationManager.AppSettings["UsersImagesUploadFolder"] ...

将解决一个到http://mydomain/vroot/uploads/...等。

顺便说一句,还要注意这@"\\"会导致双反斜杠,我认为你不是故意的。

要么 要么@"\""\\"导致单个反斜杠。

于 2012-11-17T13:18:42.867 回答