我在这里遇到了两个问题:
功能:
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。据我所知,这是在它直接在服务器上查找文件时发生的,而不是通过我的函数。如何使这条路线始终调用此功能?
感谢您的时间!