asp.net Fancybox不显示PDF但会下载

8aqjt8rx  于 2023-04-22  发布在  .NET
关注(0)|答案(2)|浏览(107)

我正在使用FancyBox来显示PDF文件。当直接通过文件系统访问文件时,它工作得很完美。
但是,由于我们的文件限制,我无法直接通过文件系统执行此操作。我创建了一个通过ASP.NET API返回FileResult的端点,但结果是FancyBox正在下载文件而不是显示文件。返回的File对象的内容类型为System.Net.Mime.MediaTypeNames.Application.Pdf
我不确定处理这个问题的最佳方法,而且文档也很少。
链接看起来像

<a role="button" data-document-id="@(document.id)" data-fancybox href="~/api/DownloadDocument?documentID=@document.Id&type=@(document.extension)" class="btn btn-success">Download</a>
t2a7ltrp

t2a7ltrp1#

它与Fancybox无关。它只是创建iframe元素并将源指向您的文件。因此,如果您可以使用<iframe>元素将PDF嵌入到HTML文档中,那么它也可以在Fancybox中工作。Fancybox不会解析和渲染您的文件,您可以使用https://mozilla.github.io/pdf.js/

sqxo8psd

sqxo8psd2#

不是返回一个FileResult对象,而是返回一个流(FileStreamResult)中的文件。这将产生与直接引用文件路径相同的行为,并允许它在FancyBox中呈现,而不是立即下载。

相关问题