怎么在asp中显示储存在大字段(BLOB)中的rtf格式文件!请大家帮忙!UP有分!

各位:
我在Oracle中存储了表,其中包含大字段(blob),它是通过delphi的savetostream方法写入的RTF格式文本,我需要在Asp中取出来,并显示给用户。
我用response.binaryWrite conRecordset.Fields("content").value但显示的是文件的ASCII码内容,但不是RTF显示格式,我把文件头变为:
Response.ContentType = "application/msword"
Response.AddHeader "Content-Disposition", "inline; filename=test.rtf"
仍然不行!

我的源代码:

1@ Language = "VBScript" 
 1if not isempty(Session("User")) then   
 2strBH=Request.form("SelRadio")   
 3if isempty(strBH) then   
 4strBH=""   
 5end if   
 6Response.write strBH   
 7Response.ContentType = "application/msword"   
 8Response.AddHeader "Content-Disposition", "inline; filename=test.rtf"   
 9if strBH <> "" then   
10varSQL = "select content from filestable where BH='" & strBH & "'"   
11set conRecordset = GetDBConnection().Execute(varSQL)   
12response.binaryWrite conRecordset.Fields("content").value   
13end if   
14end if

仍然不行,请各位大侠帮忙!

---------------------------------------------------------------

这段代码可以打开,试试看

1@LANGUAGE="VBSCRIPT" CODEPAGE="936"
 1   
 2Response.Buffer = true   
 3Response.Clear   
 4  
 5dim url   
 6  
 7url=server.MapPath("tem.doc")   
 8'response.Write(url)   
 9'response.End()   
10Set objFSO = CreateObject("Scripting.FileSystemObject")   
11If not objFSO.FileExists(url) Then   
12response.write "no"   
13response.end   
14end if   
 1   
 2Set objStream = Server.CreateObject("ADODB.Stream")   
 3objStream.Open   
 4objStream.Type = 1   
 5objStream.LoadFromFile url   
 6  
 7  
 8  
 9Response.AddHeader "Content-Disposition", "attachment;   
10  
11filename=abcde.doc"   
12Response.AddHeader "Content-Length",10752   
13  
14Response.Charset = "UTF-8"   
15Response.ContentType = "application/msword"   
16  
17Response.BinaryWrite objStream.Read   
18Response.Flush   
19response.Clear()   
20objStream.Close   
21Set objStream = Nothing   
22  

我将
Response.AddHeader "Content-Disposition", "attachment; filename=abcde.doc"
改为
Response.AddHeader "Content-Disposition", "inline; filename=abcde.doc"
后,可以显示在浏览器中,但是我从Oracle中读取的是流,直接读取并显示,但在浏览器中显示,什么也没有!先结贴,那位高手看到,有办法解决,请EMail给我:yiqunch◎163.com
附:我的代码:

1@ Language = "VBScript" CODEPAGE="936"

'包含我访问数据库的函数GetDBConnection()

 1   
 2Response.Clear   
 3if not isempty(Session("User")) then   
 4strBH = Request.QueryString("bh")   
 5if strBH <> "" then   
 6varSQL = "select content from filestable where BH='" & strBH & "'"   
 7set conRecordset = GetDBConnection().Execute(varSQL)   
 8Response.Buffer = true   
 9Response.AddHeader "Content-Disposition", "attachment;filename="+strBH+".rtf"   
10Response.AddHeader "Content-Length",10752   
11Response.Charset = "UTF-8"   
12Response.ContentType = "application/rtf"   
13Response.BinaryWrite conRecordset.fields("content").value   
14Response.Flush   
15objStream.Close   
16Set objStream = Nothing   
17end if   
18end if   
Published At
Categories with Web编程
comments powered by Disqus