【问题标题】:Getting and storing the path of file in asp.net 5在asp.net 5中获取和存储文件的路径
【发布时间】:2016-03-14 16:50:23
【问题描述】:

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

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

【问题讨论】:

  • 你可以从 DI 中得到一个 Microsoft.AspNet.Hosting.IHostingEnvironment 类型的实例,它有 MapPath 方法。

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


【解决方案1】:

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

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

如果您正在构建一个网络应用程序,您应该能够将IRuntimeEnvironment 注入您的初创公司并从那里使用它。

您必须为所有这些内容添加对 Microsoft.Extensions.PlatformAbstractions 包的引用。

更多详情请参见my post here

【讨论】:

    【解决方案2】:

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

    您可以在这里找到所有这些:Reading a file in MVC 6

    由于PlatformServices 的可用性,他们都可以在 ConsolseMVCClassLib 应用程序中工作。

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多