C# mvc文件结果2问题

C# mvc文件结果2问题,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我这里有两个问题: 职能: 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) {

我这里有两个问题:

职能:

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 });
当我将
文件
参数设置为时。例如,
1.png
它将抛出404 ecxeption。据我所知,这种情况发生在它直接在服务器上查找文件时,而不是通过我的函数。如何使此路由始终调用此函数


谢谢你抽出时间

我还没有完全考虑到你的第一个问题,但是关于第二个问题,我认为MVC无法处理带有文件扩展名的路由。@DaveA我的第一个问题是它只是开始下载文件,而不像通常的图像那样在浏览器中显示文件。。。。