asp.net-core – 将绝对文件路径转换为相对路径
|
我正在尝试从我的ASP.NET核心应用程序的wwwroot文件夹中的images文件夹中提供文件,我已经在Startup类中启用了静态文件访问. HostingEnvironment服务为我提供了一个WebRootPath属性,它为我提供了wwwroot文件夹的绝对路径,但使用此路径在浏览器的控制台中给出了“不允许加载本地资源”错误. 如果我使用localhost从我的浏览器访问该文件,我可以获取图像文件的相对路径,因此没有关于授权的问题. 我现在需要的是能够将该绝对路径转换为我的Web服务器的相对路径. 解决方法鉴于您遇到的错误,在我看来,您正在尝试在视图中使用_env.WebRootPath“/images/textfile.txt”,例如作为href属性.>这样做最终会在浏览器中尝试从您的页面请求一个类似于file:/// C:/Users/PathToYourSite/wwwroot/images/textfile.txt的网址,该网址以您遇到的错误结束.您可以阅读有关该on this answer的更多信息,但在moder Chrome等浏览器中,默认情况下会禁用从http协议到文件协议的请求. 因此,当您希望将文件内容作为服务器端逻辑的一部分读取时,应使用IHostingEnvironment方法,以便您可以对它们执行某些操作. 但是,如果您需要在wwwroot中生成指向文件的链接并在视图中使用它们,那么您有以下几种选择: >使用IUrlHelper将公共URL解析为wwwroot中的文件,其中“/”是wwwroot文件夹.然后在需要时使用它,就像一个href: @Url.Content("~/images/textfile.txt")
>使用以“/”开头的href属性直接在剃刀视图中创建锚点. (你甚至在那里获得intellisense) <a href="~/images/textfile.txt">Get file from wwwroot</a> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 从控制器操作返回301重定向
- msbuild – 通过TFS 2015部署ASP.NET 5(vNext)
- 解决ASP.NET中的后台任务中的Autofac组件
- asp.net-mvc – 请求验证 – ASP.NET MVC 2
- 是否有任何asp.net数据缓存支持缓存条目的背景填充?
- asp.net-mvc – 属性路由不工作在区域
- asp.net – 当要复制的lob数据的插入长度超过配置的最大值6
- asp.net-mvc – 具有指定操作的Response.RedirectToRoute
- asp.net-mvc-3 – 如何在ASP.NET MVC 3中更新EF 4实体?
- asp.net-mvc – 如何使用jquery处理JSON?
