希望有人可以帮助我,我正在开发 WPF 应用程序,需要在预览显示屏上显示以前创建的 pdf 文档,因为我正在使用 WebBrowser 控件。该文档已成功保存在我电脑上的公共文件夹中,但是当尝试导航到该 pdf 文档或事件设置网络浏览器的源时,浏览器只想下载该文件而不是显示它,有人可以解释如何停用这个?
我尝试创建一个流并显示它,我还尝试将pdf转换为base64字符串,但它太长而无法显示。
browser.Navigate("file:///" + @"C:\Users\Public\Documents\TempFiles\document.pdf");
您必须正确设置
ContentType
。浏览器根据ContentType
决定是直接显示文件还是下载文件。
不同的服务器框架使用不同的方式来指定
ContentType
。下面是一个例子。
// Send PDF to browser
MemoryStream stream = new MemoryStream();
document.Save(stream, false);
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", stream.Length.ToString());
Response.BinaryWrite(stream.ToArray());
Response.Flush();
stream.Close();
Response.End();