精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ASP教程>正文

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


来源:我要学习网 时间:06-11-12 点击: 点击这里收藏本文
把文件存进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 
%> 



  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.