如何使用 DotVVM 在浏览器中正确查看 pdf?

How to correctly view pdf in browser using DotVVM?

我正在尝试使用 DotVVM 在浏览器选项卡中查看 PDF。

我已经尝试使用 ReturnFile() 此处描述的方法 https://www.dotvvm.com/docs/tutorials/advanced-returning-files/1-1

additionalHeaders 但没用。

var additionalHeaders = new List<KeyValuePair<string, string>>
{
    new KeyValuePair<string, string>("Content-Disposition", "inline")
};
using (var file = ...)
{
    Context.ReturnFile(file.Stream, ItemId + "-" + type + ".pdf", "application/pdf", additionalHeaders);
}

有什么方法可以使用 ReturnFile() 方法在浏览器中查看 PDF 还是我必须创建自己的 DotvvMPresenter?或者有没有其他合适的方法来管理它?

我也试过设置 Context.HttpContext.Response.Body/Headers/ContentType , 但即便如此也没有奏效。

在 DotVVM 2.3.0 中,我们添加了 ReturnFile 的重载,允许指定 Content-Disposition header。如果您将它设置为 inline,它应该显示文档而不是下载它。