繁体   English   中英

server.mappath 将引用的文件路径解析为相对目录

[英]server.mappath resolve referenced file path to relative dir

在我的 mvc 应用程序中,我正在尝试提供这样的 html 页面

return File(Server.MapPath("~/Documentation/" + decoded["version"].ToString().Trim() + "/" + "index.htm"), "text/html");

入口点 index.htm 包括一些 js 脚本。

<script type="text/javascript" src="./whver.js"></script>

即使我指定了相对 url,包含的脚本的路径也会解析到应用程序根目录。

指定绝对路径有效,但由于动态生成的目录名称,我需要脚本来引用相对位置。

我了解我提供的信息不足。 我认为正在发生的事情是 .htm 文件是从索引控制器返回的,它的路由是应用程序根。 这就是为什么相对路径是这样解析的。

我希望如果您将路径从相对更改为绝对,它会更容易。 绝对路径以斜杠 - '/' 开头并显示您网站的根点。 我的意思是,当您访问 website.com/index.html 时,您页面的绝对路径是 /index.html。

下一个代码对我有用。 public ActionResult Index() { using (var streamRead = System.IO.File.OpenRead( System.IO.Path.Combine( Server.MapPath("~/Documents"), "index.html"))) { return File(streamRead, "text/html"); } }

和 html 页面: <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <script type="text/javascript" src="/Scripts/jquery-1.10.2.js" ></script> <script> console.dir("jquery version: " + jQuery.fn.jquery); </script> </body> </html> <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <script type="text/javascript" src="/Scripts/jquery-1.10.2.js" ></script> <script> console.dir("jquery version: " + jQuery.fn.jquery); </script> </body> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM