随着互联网技术的不断发展,文件上传功能在网站开发中的使用越来越广泛。作为网站开发人员,如何实现一个带数据库的文件上传功能已成为我们需要掌握的技能之一。本文将讲解如何使用功能。
创新互联专业为企业提供宁县网站建设、宁县做网站、宁县网站设计、宁县网站制作等企业网站建设、网页设计与制作、宁县企业网站模板建站服务,十年宁县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
ASP简介
ASP(Active Server Pages)是一种动态的网页开发技术,它可以方便地将HTML和Script代码结合在一起进行Web应用程序的开发。ASP最初由微软公司开发,目前已经成为了一种非常流行的脚本语言,广泛应用于Web应用程序的开发中。
文件上传功能介绍
在Web应用程序中,文件上传是一种常见的功能。通过文件上传,用户可以将本地文件上传到服务器,从而实现分享、备份、下载等操作。常见的文件上传格式有图片、音频、视频、文档等,通过文件上传功能,可以方便地将多种文件上传到网站中。
数据库介绍
数据库是指按照一定规则组织起来的数据的。在Web应用程序中,数据库可以用来存储用户信息、订单信息、商品信息等数据。数据库可以让应用程序实现数据的持久化存储,使得数据在多个应用程序之间能够共享和使用。
如何实现带数据库的文件上传
在ASP中,通过使用FileSystemObject对象和ADODB.Recordset对象,可以很方便地实现文件上传和数据库操作。下面将简单介绍的步骤。
一、创建一个ASP页面
在Web应用程序中,创建一个ASP页面(例如:upload.asp),用于上传文件。
二、创建上传表单
在ASP页面中,使用HTML form标签,创建文件上传表单,并设置enctype属性为multipart/form-data。
“`html
“`
三、接受上传的文件
在ASP页面中,使用FileSystemObject对象,获取上传的文件,并将文件保存到服务器的指定目录中。
“`ASP
Dim objFSO, objFile
Set objFSO = Server.CreateObject(“Scripting.FileSystemObject”)
Set objFile = objFSO.GetFile(Request.Files(“fileToUpload”).Item(“FileName”))
objFile.SaveAs “d:\uploads\” & objFile.Name
Set objFile = Nothing
Set objFSO = Nothing
“`
四、保存文件信息到数据库
在ASP页面中,使用ADODB.Recordset对象,将上传的文件信息保存到数据库中。
“`ASP
Dim Conn, rs
Dim strSql
Set Conn = Server.CreateObject(“ADODB.Connection”)
Conn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.MapPath(“database\db.mdb”)
Set rs = Server.CreateObject(“ADODB.Recordset”)
strSql = “INSERT INTO upload (filename,filesize,uploadtime) VALUES (‘” & objFile.Name & “‘,'” & objFile.size & “‘,'” & Now() & “‘)”
rs.Open strSql, Conn
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
“`
五、完整的ASP页面代码
“`ASP
<%
Dim Conn, rs
Dim strSql
Dim objFSO, objFile
Set objFSO = Server.CreateObject(“Scripting.FileSystemObject”)
Set objFile = objFSO.GetFile(Request.Files(“fileToUpload”).Item(“FileName”))
objFile.SaveAs “d:\uploads\” & objFile.Name
Set objFile = Nothing
Set objFSO = Nothing
Set Conn = Server.CreateObject(“ADODB.Connection”)
Conn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.MapPath(“database\db.mdb”)
Set rs = Server.CreateObject(“ADODB.Recordset”)
strSql = “INSERT INTO upload (filename,filesize,uploadtime) VALUES (‘” & objFile.Name & “‘,'” & objFile.size & “‘,'” & Now() & “‘)”
rs.Open strSql, Conn
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
Response.Redirect “upload_success.asp”
%>
“`
六、
通过本文的介绍,我们了解了如何使用功能。在实际开发中,我们需要根据具体需求,进一步完善文件上传功能,以便满足不同用户的需求。同时,我们也需要注意文件上传安全性问题,防止文件上传功能被滥用。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
网站根目录找到conn这个文件
用记事明耐桥本亩缺打开
直接修改激猛里面的就可以了
不会在咨询我
/KS_Data/KesionCMS6.mdb/表示站点的根目录,也就是你存放站点首页的目录。在根目录下建立一个KS_Data的目录,把数据库放到这个目录就行了。当然你也可以建立其它名称的目埋型录来存放数据。如:/Database/myData.mdb还可以将数据库放在wwwroot主目录的上弯闹猜级目录,这样只有程序能访问到数据库弯哪,从客户端是访问不到的。
我刚改写了一个函数uploadfile(filety,savepath)
之一个参数是允许的后缀名第二个参数是保存地址
能够自动防止重名,返回值是新文件名。把新文件名写到数据库就行啦。
0 Then
formsize=request.totalbytes’ 取二进制流字节长度
formdata=request.binaryread(formsize)’ 读取二进制流内容
bncrlf=chrB(13)&chrB(10)
datastart=instrb(formdata,bncrlf&bncrlf)+’ 取二进制流文件开始位置 (两个回车换行符)
divider=leftB(formdata,instrb(formdata,bncrlf)-1) ‘ 定义取二进制流 Field 分隔标记 (内容为二进制)
dataend=instrb(datastart,formdata,divider)-datastart ‘ 取二进制流文件部分结束位置
‘2.将获取的信息以二进制流文件存放 — stm
Set strm=createObject(“adodb.stream”)
with strm
.type=’ 二进制模式
.mode=’ 指定打开模式为读写
.open
.write formdata’写入二腊液迹进制流内容
.position=’将游标指向数据首部
.type=’ 以文本模式读取
.CharSet = “gb2312” ‘设置中文编码
formhead=.ReadText(datastart- 1) ‘读取表单头部内容
End with
‘2.1获取上传的文件名称filename
fullname=fRegExpSgl(formhead,true,true,true,”*filename\=””(.*?)””*”,”$1″)
fname=Split(fullname,”\”)
filename=fname(UBound(fname)) ‘ 获取到文件名
‘判断文件类型是否轮并安全
filety=split(filety,”,”)’转化成数组
for i=0 to ubound(filety)
if lcase(right(filename,3))=lcase(filety(i)) then ‘right
exit for
else
end if
next
‘end 判断文件类型
Set fso = Server.CreateObject(“Scripting.FileSystemObject”)
If fso.FileExists(savepath&filename) Then
For i=1 To 999
Fxname=Split(filename,”.”)
Fn=Left(filename,InstrRev(filename,”.”)-1)
Fnx=fxname(UBound(fxname))
If Not fso.FileExists(SavePath&Fn&”(“&i&”).”&Fnx) Then
filename=Fn&”(“&i&”).”&Fnx
Exit For
End If
Next
End If
‘3.从stm二进制流文件中获取有效信息 及 保存文件
Set formstrm=createOBject(“adodb.stream”)
with formstrm
.type=’ 二进制模式
.mode=3
.open
strm.position = datastart ‘ 指定 stm 对象的起始位置, 以变量 bStart 的值为起始位置
strm.copyTo formstrm,dataend ‘ 拷贝 stm 二进制流至 fromStm 对象, 长度为 bEnd 变量的长度
.saveTofile (savepath&filename),2 ‘ 保存文件, 如果存在相同名称, 则覆盖
.close
end with
Set strm=Nothing
Set formstrm=Nothing
‘dele the old photo and write the position to the user table faceurl
‘findout the old photo
upload=filename
‘response.End 这个导致下面的所有的将输出不了
End If
‘end upload****************
end function
function fRegExpSgl(str,glb,igc,mtl,pt,rpt)
dim re
set re=new RegExp
re.global=glb
re.ignoreCase=igc
re.multiline=mtl
re.pattern=pt
fRegExpSgl=re.replace(str,rpt)
set re=nothing
end function
关于asp上传带数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港云服务器机房,创新互联(www.cdcxhl.com)专业云服务器厂商,回大陆优化带宽,安全/稳定/低延迟.创新互联助力企业出海业务,提供一站式解决方案。香港服务器-免备案低延迟-双向CN2+BGP极速互访!
当前名称:ASP实现带数据库的文件上传(asp上传带数据库)
本文来源:http://www.shufengxianlan.com/qtweb/news37/190737.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联