我有行动:
[HttpGet]
public ActionResult GetMenuContentFileToDisplay(int menuItemId)
{
//......
return File(fileAttributes.FilePath, fileAttributes.InternetMediaType,
Uri.EscapeUriString(fileAttributes.FileName));
}
我想使用这种方法(允许您接收文件)在iframe中显示内容。是否可以为show HTM文件实现这个?
这篇文章是必要的,因为隐藏了文件结构的用户以及检查文件权限的需要。
我会很感激任何想法。
答案 0 :(得分:0)
如果您想以内联方式显示文件,可以使用iframe:
<iframe src="@Url.Action("GetMenuContentFileToDisplay", new { menuItemId = "5" })"></iframe>
为避免文件被下载,您不应该提供文件名,只能提供Content-Type
:
[HttpGet]
public ActionResult GetMenuContentFileToDisplay(int menuItemId)
{
return File(
fileAttributes.FilePath,
fileAttributes.InternetMediaType
);
}
显然,这只有在浏览器识别出文件内容类型时才有效(例如,它是text/html
或text/plain
)。否则,浏览器将再次提示用户下载文件。