我需要使用经典的asp动态创建和发送TXT文件。我知道如何创建此文件将其保存到目录中,然后使用Server.CreateObject(" ADODB.Stream")发送它...但我想要的是避免将其保存在目录中并只创建并即时发送。 在这种情况下,TXT文件是从MySql DB中提取的记录列表。每一行......
strSQL = "SELECT * FROM mydb WHERE condition='ok';"
Set rs = my_conn.Execute(strSQL)
Response.Buffer = False
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 'adTypeBinary
objStream.Open
Response.ContentType = "application/x-unknown"
Response.Addheader "Content-Disposition", "attachment; filename=recordsfile.txt"
Response.BinaryWrite (dunno how to create a file with rs("field01") & " _ " & rs("field02") & vbnewline
objStream.Close
Set objStream = Nothing
是否可以这样做...意味着在内存中创建一个文件以进行strem / send ...除了在之前创建并保存在磁盘上并稍后发送之外没有其他选择?
答案 0 :(得分:0)
以下内容有效。注意:我的下面示例假设您的记录集返回一个字段。
strSQL = "SELECT * FROM mydb WHERE condition='ok';"
Set rs = my_conn.Execute(strSQL)
if not rs.eof then
response.contentType = "application/octet-stream"
response.addHeader "Content-Disposition", "attachment; filename=recordsfile.txt"
do until rs.eof
response.write rs(0).value & vbcrlf
rs.movenext
loop
end if