在asp.net 5中获取和存储文件路径

时间:2016-02-19 12:04:12

标签: asp.net asp.net-core asp.net-core-mvc

在以前版本的asp.net中,HostingEnvironmentMapPath方法来获取和存储文件的路径,但在ASP.net 5中我无法使用它。

var filepath = HostingEnvironment.MapPath(@"~/Data/product.json");

2 个答案:

答案 0 :(得分:0)

你在使用RC1吗? 在RC1中,它取决于您是在编写控制台还是Web应用程序。在控制台应用中,您不能再使用DI,只能使用PlatformServices.Default

例如,

PlatformServices.Default.Application可让您访问应用程序的基本路径。静态属性的类型是IRuntimeEnvironment。拥有应用程序的基本路径,您可以轻松构建所需文件的路径......

如果您正在构建一个Web应用程序,那么您应该可以将IRuntimeEnvironment注入您的启动并从那里使用它。

您必须将Microsoft.Extensions.PlatformAbstractions包的引用添加到所有内容中。

有关详情,请参阅my post here

答案 1 :(得分:0)

尽管IHostingEnvironment提供了MapPath()方法,但您也可能需要UnmapPath()。另一种有用的方法可能是IsPathMapped()

您可以在此处找到所有这些内容:Reading a file in MVC 6

由于PlatformServices可用性,所有这些都可以在 Consolse MVC ClassLib 应用中使用。

HTH