mvc fileresult 2个问题

时间:2013-03-20 03:38:03

标签: 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)
            {
                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 ecxeption。据我所知,这是在它直接在服务器上查找文件时发生的,而不是通过我的函数。如何使这条路线始终调用此功能?

感谢您的时间!

0 个答案:

没有答案