Server.MapPath and window.open()



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

为了做到这一点,我正在尝试使用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);

我可能错过了一些明显的东西,但我看不出它是什么。

谢谢你的回答。

正如 Damien 指出的那样,Server.MapPath用于服务器端路径映射。客户端需要查看 Web 应用下的路径。

例如:

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

将解析为 http://mydomain/vroot/uploads/... 等。

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

@"""\"中的任何一个都会导致单个反斜杠。

相关内容

  • 没有找到相关文章

最新更新