从wwwroot外部提供文件

时间:2016-03-16 13:53:50

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

我正在将ASP.NET4.5网站迁移到ASP.NET 5.我们从绝对位置返回硬盘上的图像。文件不存储在Web目录中。以前这个工作正常,使用以下代码:

public ActionResult GetVideoImage(string serialNumber, int videoEntryId)
{
    try
    {
        var serial = Device.FriendlySerialNumberToNumericalSerialNumber(serialNumber);

        var entry = this.service.GetVideoEntry(serial, videoEntryId);

        if (entry != null && System.IO.File.Exists(entry.FirstVideoFrameLocation.LocalPath))
        {
            return this.File(entry.FirstVideoFrameLocation.LocalPath, "image/jpeg"); // adjust content type appropriately
        }
    }

    return this.Redirect("/content/noimage.png");
}

不幸的是,这不再起作用并引发异常。从我可以告诉它,因为this.File现在需要一个virtualPath而不是一个绝对的,所以对于从其网络目录之外提供文件的想法很苛刻。

  • 我怎样才能解决这个问题?
  • ActionResult也是最好的 返回类型?

1 个答案:

答案 0 :(得分:2)

我在MS帖子here上找到了链接到ASP github commit的答案。

长话短说,Short命名空间中有新的类可以让我找到我想要的东西。我特意选择Microsoft.AspNet.Mvc按预期工作