我有几个文档存储为SQL Server数据库中的BLOB。
文档可以有多种格式(Word,Excel,PDF等)。
我不想在文件上提取文档,然后使用程序打开它:它太慢了,我的程序必须快速让用户快速查看文档。
浏览一下,似乎在表单中快速显示文档的最佳方法是使用WebBrowser。
所以,我已经在我的表单中放置了一个WebBrowser控件(WebBrowser1)并编写了以下代码以尝试填充它,使用获取查询结果的MemoryStream并将其提供给WebBrowser1:
Dim drQueryDoc As SqlDataReader
Dim sqlcmdDoc As SqlCommand = cnDB.CreateCommand 'cnDB is the connection I use to SQL Server
sqlcmdDoc.CommandText = "SELECT Documento FROM TabApprovazioni WHERE IDPassaggio = " & lblIDPassaggio.Text & ";"
drQueryDoc = sqlcmdDoc.ExecuteReader
If drQueryDoc.Read Then
Dim mstDocument As New System.IO.MemoryStream(drQueryDoc("Documento"), drQueryDoc("Documento").length)
WebBrowser1.DocumentStream = mstDocument
End If
我得到的是快速,但它不是Word格式的文档(如果文档是Word格式):它看起来类似于试图打开Word文档的记事本: - )
如何更正此代码以正确方式显示存储的文档?
关于为什么它没有以正确的方式显示文档的想法?
有效的替代方案?
非常感谢提前