【发布时间】:2015-09-20 01:47:57
【问题描述】:
我想使用 WebBrowser 控件来显示几个文件。 但是需要在 WebBrowser 控件显示文件后重命名、删除文件。 问题是,文件被锁定,直到 WebBrowser 设置为显示另一个文件或不显示文件。
有没有办法强制 WebBrowser 缓存文件并在加载后立即释放?
现在我从文件中创建了一个内存流并将其传递给 WebBrowser 控件。
using (var fileStream = new FileStream(source, FileMode.Open, FileAccess.Read, FileShare.Read))
{
fileMemoryStream = new MemoryStream();
fileStream.CopyTo(fileMemoryStream);
}
fileMemoryStream.Position = 0;
webBrowser.NavigateToStream(fileMemoryStream);
但现在我看不到 pdf 文档,但我看到 pdf 为 ASCII 码。
"%PDF-1.2 %ÈÇÐÄF 4 0 obj > endobj 5 0 obj......."
有没有办法将文件中的程序类型附加到流中以显示 PDF?
【问题讨论】:
-
我知道这对派对来说有点晚了,但是如果你在内存中创建一个文本文件并基本上构建一个 http 响应的内容,包括标题(内容类型:text/pdf 或无论正确的类型是什么)。然后将 pdf 中的字节嵌入到响应中并将整个内容提供给 Web 浏览器?哎呀,您也许可以只使用 .net 中的 HttpResponse 类来完成所有这些并将其序列化到内存流中。
标签: c# wpf webbrowser-control