各位:
我在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