我实际上正在开发一款应用,可让用户上传他们想要的文件。一旦上传,这些文件也应该是可视化的。
为了做到这一点,我尝试使用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);
我可能错过了一些明显的东西,但我不知道它是什么。
感谢您的回答。
答案 0 :(得分:2)
正如Damien指出的那样,Server.MapPath
用于服务器端路径映射。客户需要在您的网络应用程序下方看到一条路径。
例如:
Page.ResolveUrl("~/uploads/" + ConfigurationManager.AppSettings["UsersImagesUploadFolder"] ...
将解析为http://mydomain/vroot/uploads/...
等。
顺便说一句,请注意@"\\"
会导致双反斜杠,我认为你并不打算这样做。
@"\"
或"\\"
中的任何一个都会产生一个反斜杠。