我正在尝试在FileContentResult
标签中显示object
MVC操作的结果。我可以轻松显示具有预览选项的文件; .txt,.pdf,.jpg等。当某些文件没有预览选项时,就会出现此问题。
我的问题不是弄清楚哪种文件可以工作,我的问题是弄清楚如何阻止它们下载(或尝试下载)。
我已经尝试进行ajax调用以获取文件,我可以这样做,但是在此之后我不知道如何显示。
有任何提示或想法吗?这是我从jquery调用中获得的对象。
从本质上来说,它只是模仿类型,名称和字节数组。这是MVC中对象的快照:
这似乎并不像看起来那样困难。我只是想念一些明显的东西吗?
谢谢!
答案 0 :(得分:0)
我意识到我可以做些什么来解决此问题,如果其他人确实有解决此问题的想法,我不会将其作为答案。
我认为我的解决方案是不言自明的,但我会做一些详细说明。
public ActionResult GetFile()
{
HBSFile file = new Common.Business.FileIO.FileIO(Server.MapPath("~/Content/Images"), "testdoc.docx").Read();
if (file.CanBePreviewed)
{
return File(file.Stream, file.ContentType);//, file.FileName + "." + file.Extension);
}
return null;
//return Json(new Test(File(file.Stream, file.ContentType, file.FileName + "." + file.Extension), file.CanBePreviewed), JsonRequestBehavior.AllowGet);
}
HBSFile对象只是文件的属性。 file.Stream
是一个字节数组。
要解决我的问题,我只是检查文件是否可以预览。如果可以,我将返回一个FileContentResult
。