日期:2012-08-01  浏览次数:20884 次

数据库的表Info,表部分结构:
Info_Id int 主键
File_MIME_Type varchar(50) 文件MIME类型
File_Size int 文件大小
Info_File image 文件

下列代码的文件名:GetFile.asp
<%@ Language=VBScript %>
<!--#include file="conn.asp"-->
<%
Info_Id=Request("Info_Id")
set rs=server.CreateObject("adodb.recordset")
sql="SELECT * FROM Info where Info_Id="& Info_Id
rs.Open sql,conn,3,3
response.contenttype=rs("File_MIME_Type")
Response.AddHeader "Content-Length",rs("File_Size")
Response.AddHeader "Content-Disposition", "attachment;filename=""" & rs("File_Name") & """"
Response.BinaryWrite rs("Info_File")
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

获取图片的方式是<img src=GetFile.asp?Info_Id=XXXXXXX>
获取文件的方式<a href=GetFile.asp?Info_Id=XXXXXXX>下载文件</a>
XXXXXXX为记录的主键Info_Id值

如果去掉
Response.AddHeader "Content-Length",rs("File_Size")
Response.AddHeader "Content-Disposition", "attachment;filename=""" & rs("File_Name") & """"
同样可以显示图片,获取文件因没有指定文件名就会以Getfile.asp下载保存了。