为什么我需要Content/Type变量



在我的MVC Core应用程序中,我在控制器中为用户提供了一种下载我保存的图像的方法,该图像是通过单击视图中的按钮调用的。我不明白为什么我需要第二个变量";contentType";返回的File((中的字符串。如果我输入"jpg",我仍然可以将图像下载为.jpg;application/pdf";而不是";application.jpg";,那么,除了它是必需的这一事实之外,拥有它还有什么意义呢。这个变量的意义是什么?

public FileStreamResult Download()
{
string filename = "Capture.JPG";
string filepath = hostingEnvironment.WebRootPath + "\Image";
string fullName = Path.Combine(filepath, filename);
return File(new FileStream(fullName, FileMode.Open), "application/pdf", filename);
}

Flydog的评论非常中肯;在声明内容类型时,您可能会发现最有用或最明显的区别是,浏览器可能会根据设置使用它来调用不同的行为。如果你发送一个mp4视频作为";视频/mp4";浏览器很可能在其视口中播放它。如果您发送与"相同的文件;应用程序/八位字节流";它可能会提供另存为。如果你声称一种内容类型实际上是另一种,浏览器很可能会忽略你(注意:声称pdf是pdf或八位字节流都是合理/正确的。声称这是慢跑不是(。Content Disposition在服务器中也扮演着一个角色,旨在为浏览器提供一些处理文件的指导。。

但我主要想说的是,说出内容类型真相的一个很好的理由是interop咒语";当涉及到遵守标准时,要严格对待你所发送的内容,自由对待你所接受的内容您正在发送,所以请遵循协议:(

最新更新