把文件存进access数据库然后取出来供人下载的代码

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

把文件存进access数据库然后取出来供人下载的代码

senddate.asp(发送界面)

<form method="post" ENCTYPE="multipart/form-data" name="form3" action="senddateindb.asp">

<input type="hidden" name="userdept" value="<%=firstdept%>">

<input type="hidden" name="username" value="所有人">

<td align="center"><b>发给:</b></td><td><input type="text" name="sendto" size=60 value="<%=sendto%>" onfocus="document.form3.title.focus();"><font color=red>*</font></td>

</tr>

<tr>

<td align="center"><b>标题:</b></td>

<td><input type=text name="title" size=60><font color=red>*</font></td>

</tr>

<tr>

<td align="center"><b>内容:</b></td>

<td><textarea name="content" rows="9" cols="60"></textarea></td>

</tr>

<tr>

<td align="center"><b>附件:</b></td>

<td><input type="file" name="file1" size=35>(不能超过100K)</td>

</tr>

<tr>

<td align=center colspan=2>

<input type="submit" name="submit" value="发送">

</td>

</form>

*************************************************************************

senddateindb.asp(把要发送的文件保存到数据库)

<!--#INCLUDE FILE="asp/fupload.inc"-->

<!--#include file="asp/opendb.asp"-->

<!--#include file="asp/sqlstr.asp"-->

<!--#include file="asp/checked.asp"-->

<!--#include file="asp/bgsub.asp"-->

<%

'On Error Resume Next

oabusyname=request.cookies("oabusyname")

oabusyusername=request.cookies("oabusyusername")

oabusyuserdept=request.cookies("oabusyuserdept")

oabusyuserlevel=request.cookies("oabusyuserlevel")

if oabusyusername="" then response.redirect "default.asp"

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

<link rel="stylesheet" href="css/css.css">

<title>企业管理系统</title>

</head>

<body bgcolor="#eeeeee" topmargin="5" leftmargin="5">

<%

call bghead()

%>

<center>

<table>

<tr>

<td>

<b>公文发送</b>

</td>

<form action="senddate.asp" method="post" name="form1">

<td>

<input type="submit" value="返回">

</td>

</form>

</tr>

</table>

</center>

<%

call bgmid()

%>

<%

if Request.ServerVariables("REQUEST_METHOD") = "POST" Then

'---------------------------

'response.write "开始发送<br>"

'---------------------------

Dim Fields

UploadSizeLimit=100000

Set Fields = GetUpload()

dim Field

For Each Field In Fields.Items

if Field.name="title" then title=BinaryToString(Field.value)

if Field.name="content" then content=BinaryToString(Field.value)

if Field.name="sendto" then sendto=BinaryToString(Field.value)

if Field.name="file1" then

filename=field.FileName

fileContentType=field.ContentType

filevalue=field.value

end if

next

'--------------------------------------

'response.write "title=" & title & "<br>"

'response.write "content=" & content & "<br>"

'response.write "sendto=" & sendto & "<br>"

'response.write "filedname=" & filename & "<br>"

'response.write "fileContentType=" & fileContentType & "<br>"

'----------------------------------------

dim mysendto

mysendto=split(sendto,"|",-1,1)

for each sendtoinf in mysendto

userdeptpoint=InStr(sendtoinf,":")

if userdeptpoint>0 then

sendtoinflen=len(sendtoinf)

recipientusername=right(sendtoinf,sendtoinflen-userdeptpoint)

if recipientusername="所有人" then

recipientusername="所有人"

else

usernamepoint=Instr(recipientusername,"(")

usernamelen=len(recipientusername)

recipientusername=left(recipientusername,usernamelen-1)

recipientusername=right(recipientusername,usernamelen-1-usernamepoint)

end if

recipientuserdept=left(sendtoinf,userdeptpoint-1)

set conn=opendb("oabusy","conn","accessdsn")

set rs=server.createobject("ADODB.recordset")

sql = "select * from senddate"

rs.Open sql,conn,1,3

rs.addnew

rs("title")=title

rs("content")=content

rs("sender")=oabusyusername

rs("recipientusername")=recipientusername

rs("recipientuserdept")=recipientuserdept

if filename<>"" then

rs("filename")=filename

rs("fileContentType")=fileContentType

rs("filevalue").appendchunk filevalue

end if

rs.update

rs.close

set rs=nothing

set conn=nothing

end if

next

%>

<br><br>

<center>发送完成</center>

<%

end if

%>

<%

call bgback()

%>

</body>

</html>

*****************************************************************

listsendfile.asp (把数据库里面的文件取出来并下载,如果是文本或图像会直接打开)

<!--#include file="asp/opendb.asp"-->

<%

set conn=opendb("oabusy","conn","accessdsn")

Set rs=Server.CreateObject("ADODB.recordset")

'request("id")是从上一个文件传过来的值,表示这个文件在数据库里的位置

sql="select filevalue,fileContentType from senddate where id=" & trim(request("id"))

rs.open sql,conn,1,1

Response.ContentType = rs("fileContentType")

Response.BinaryWrite rs("filevalue").getChunk(7500000)

rs.close

set rs=nothing

set conn=nothing

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有