MVC 5-jQuery-不下载而显示FileContentResult

时间:2018-06-29 21:07:26

标签: javascript jquery asp.net ajax asp.net-mvc

我正在尝试在FileContentResult标签中显示object MVC操作的结果。我可以轻松显示具有预览选项的文件; .txt,.pdf,.jpg等。当某些文件没有预览选项时,就会出现此问题。

我的问题不是弄清楚哪种文件可以工作,我的问题是弄清楚如何阻止它们下载(或尝试下载)。

我已经尝试进行ajax调用以获取文件,我可以这样做,但是在此之后我不知道如何显示。

有任何提示或想法吗?这是我从jquery调用中获得的对象。
enter image description here
从本质上来说,它只是模仿类型,名称和字节数组。这是MVC中对象的快照:
enter image description here
这似乎并不像看起来那样困难。我只是想念一些明显的东西吗?

谢谢!

1 个答案:

答案 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