我这里有两个问题:
功能:
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 异常。据我了解,当它直接在服务器上查找文件时会发生这种情况,但不是通过我的功能。我怎样才能让这条路线总是调用这个函数?
感谢您的时间!