1

我这里有两个问题:

功能:

public ActionResult File(Guid Id, string Name)
    {
        using (var db = new DBContext())
        {
            var file = db.Attachments.Where(s => s.Id == Id).FirstOrDefault();
            if (file == null)
            {
                return HttpNotFound();
            }
            return File(file.Path, file.ContentType, file.OriginalName + file.Extension);
        }           
    }

它工作正常,除了我希望浏览器决定下载此文件或在其中显示。现在它会自动下载 .png 图像,因为通常情况下,如果我单击此类链接,它会向我显示此图像。我怎样才能做到这一点?

第二个问题:这是我实现此功能的途径:

routes.MapRoute(name: "Files", url: "file/{id}/{file}",
       defaults: new { controller = "Home", action = "File",
                       id = UrlParameter.Optional, 
                       file = UrlParameter.Optional });

当我将file参数设置为。例如,1.png它会抛出 404 异常。据我了解,当它直接在服务器上查找文件时会发生这种情况,但不是通过我的功能。我怎样才能让这条路线总是调用这个函数?

感谢您的时间!

4

0 回答 0