Asp.net Server.Mappath返回不带\

Asp.net Server.Mappath返回不带\,asp.net,Asp.net,及 不带“\”的回信地址 D:WEBDATAmydomain.com上传CrystalReport1.rpt 但我预料 D:\WEBDATA\mydomain.com\Uploads\CrystalReport1.rpt 评论中提到,您的问题是javascript将“\”解释为特殊字符的标记。要输出反斜杠,需要使用两个反斜杠,如“\”所示。由于某些原因,输出是不同的。不要从客户端写出来,而是做一个响应。从后面的代码中写出来,然后检查其中的差异,或者更简单地说,使用VS intellisense进

不带“\”的回信地址

D:WEBDATAmydomain.com上传CrystalReport1.rpt

但我预料

D:\WEBDATA\mydomain.com\Uploads\CrystalReport1.rpt


评论中提到,您的问题是javascript将“\”解释为特殊字符的标记。要输出反斜杠,需要使用两个反斜杠,如“\”所示。由于某些原因,输出是不同的。不要从客户端写出来,而是做一个响应。从后面的代码中写出来,然后检查其中的差异,或者更简单地说,使用VS intellisense进行检查。

你能得到文件吗?我不相信你。执行Trace.WriteLine(Server.MapPath(“~/Uploads/CrystalReport1.rpt”);Dim reportpath为String=Server.MapPath(“/Uploads/CrystalReport1.rpt”)Dim reportpath 2为String=Server.MapPath(“~/Uploads/CrystalReport1.rpt”),然后我用javascript响应打印它显示地址的messagebox没有反斜杠这是因为javascript对字符串进行了解释,所以reportpath中的值是正确的。无论如何,没有理由将其发送到客户端,他无法访问服务器上的路径。您应该使用.net的非正常调试工具。
Server.MapPath("/Uploads/CrystalReport1.rpt")
Server.MapPath("~/Uploads/CrystalReport1.rpt")