【问题标题】:MVC 5 - jQuery - Displaying FileContentResult Without DownloadingMVC 5 - jQuery - 在不下载的情况下显示 FileContentResult
【发布时间】:2018-06-29 21:07:25
【问题描述】:

我试图在object 标记中显示FileContentResult MVC 操作的结果。我可以轻松地显示具有预览选项的文件; .txt、.pdf、.jpg 等。当存在没有预览选项的文件时,问题就出现了。

我的问题不在于确定哪种类型的文件有效,我的问题在于如何阻止它们下载(或尝试下载)。

我尝试制作 ajax调用来获取文件,我可以这样做,但之后我不知道如何显示它。

任何提示或想法?这是我从 jquery 调用中返回的对象。

它本质上只是 mimetype、名称和字节数组。这是 MVC 中对象的快照:

这似乎并不像看起来那么难。我只是错过了一些明显的东西吗?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    我意识到我可以做些什么来解决这个问题,我不会提交这个作为答案,以防其他人真的对如何解决这个问题有想法。

    我认为我的解决方案是不言自明的,但我会详细介绍一下。

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2019-05-19
      • 2019-10-01
      相关资源
      最近更新 更多