我有行动:
[HttpGet]
public ActionResult GetMenuContentFileToDisplay(int menuItemId)
{
//......
return File(fileAttributes.FilePath, fileAttributes.InternetMediaType,
Uri.EscapeUriString(fileAttributes.FileName));
}
我想使用这种方法(它允许你接收文件)来显示iframe中的内容。是否可以为show HTM file实现此功能?
这一部分是必要的,因为对用户隐藏了文件结构,并需要检查文件权限。
如果您有任何想法,我将不胜感激。
发布于 2013-03-27 15:08:35
如果想要以内联方式显示文件,可以使用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
)时,这才能起作用。否则,浏览器将再次提示用户下载该文件。
https://stackoverflow.com/questions/15641128
复制相似问题