javascript - MVC 5 - jQuery - 在不下载的情况下显示 FileContentResult
问题描述
我正在尝试在标签中显示FileContentResult
MVC 操作的结果。object
我可以轻松地显示具有预览选项的文件;.txt、.pdf、.jpg 等。当存在没有预览选项的文件时,问题就出现了。
我的问题不是弄清楚哪种类型的文件有效,我的问题是弄清楚如何阻止它们下载(或尝试下载)。
我已经尝试进行 ajax 调用来获取文件,我可以这样做,但我不知道之后如何显示它。
任何提示或想法?这是我从 jquery 调用中得到的对象。它本质上只是 mimetype、名称和字节数组。这是 MVC 中对象的快照:这似乎并不像看起来那么难。我只是错过了一些明显的东西吗?谢谢!
解决方案
我意识到我可以做些什么来解决这个问题,我不会提交这个作为答案,以防其他人确实对如何解决这个问题有想法。
我认为我的解决方案是不言自明的,但我会详细介绍一下。
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
.
推荐阅读
- c# - 如何使用 Nest C# 在弹性搜索查询 (EQL) 中使用不存在或 null?
- laravel - 带有求和和分组的 Laravel 模型查询
- node.js - 两个时间戳之间的 Firebase Firestore 查询
- javascript - 如何使用angularjs动态加载html表中的嵌套数组属性?
- python - Python 多文件内容
- c++ - 如何使用 Poco::ZIP 压缩/解压缩 zip 文件
- azure - Webhook 调用失败。错误:PERMISSION_DENIED。dialogflow webhook 调用错误
- mysql - 可快速搜索的同义词
- javascript - 从导航栏链接(内部 php / html 文件)到同一页面内的主要部分
- javascript - 这是 intl.dateTimeFormat 错误吗?