掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)站的功能越來(lái)越豐富,文件上傳這個(gè)功能已經(jīng)成為了不可缺少的一部分。其中,將文件上傳至數(shù)據(jù)庫(kù)中存儲(chǔ),是一種非常常見(jiàn)的方式。本文將為大家介紹如何。

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。
一、前置準(zhǔn)備
1、ASP環(huán)境:所需的ASP環(huán)境應(yīng)當(dāng)是能夠支持ADO和數(shù)據(jù)庫(kù)操作的環(huán)境。
2、數(shù)據(jù)庫(kù):需要使用一個(gè)數(shù)據(jù)庫(kù)進(jìn)行文件上傳的儲(chǔ)存,可以使用Access、SQL Server等。
3、文件上傳組件:ASP默認(rèn)不支持文件上傳功能,需要安裝第三方上傳組件。
4、解壓軟件:組件一般是以ZIP格式下載的,需要使用解壓軟件將其解壓出來(lái)。
5、文本編輯器:用于編寫(xiě)ASP文件。
二、安裝文件上傳組件
選擇一個(gè)適合的上傳組件,下載后解壓出來(lái),一般會(huì)有說(shuō)明文檔,按照說(shuō)明文檔進(jìn)行安裝。這里以ASPUpload為例。
1、將ASPUpload文件中的所有文件解壓至Web服務(wù)器的Internet Services Manager(I)中的“/Scripts”目錄下。
2、在您使用ASP頁(yè)面上傳文件的應(yīng)用程序所在服務(wù)器的根目錄下打開(kāi)一個(gè)命令提示符(命令行窗口),輸入以下命令:
> regsvr32 ASPUpload.DLL
此命令用于將ASPUpload.DLL文件注冊(cè)至Windows“注冊(cè)表”中。
三、編寫(xiě)ASP代碼
下面是上傳的ASP代碼:
<%
Response.Charset = “GB2312”
Dim File02:File02=Request.Form(“File01”)
Dim File01:File01=Request.Files(“fileupload”)
if not File01.eof then
Dim ByteSize
ByteSize=File01.Size
ReDim Binary(ByteSize)
File01.BinaryRead Binary
set cnn=CreateObject(“ADODB.Connection”)
cnn.Provider=”Microsoft.Jet.OLEDB.4.0″
cnn.open server.Mappath(“data/Database.mdb”),admin,admin
sql=”insert into file(person,filedata,filename) values(‘” & File02 & “‘, ‘” &
Binary & “‘,'” & File01.filename & “‘)”
set rs=cnn.execute(sql)
Response.Redirect “index.asp”
else
Response.Write(“沒(méi)有文件上傳!”)
end if
%>
注:這里的“request.form”和“request.files”需根據(jù)自己網(wǎng)站的代碼來(lái)寫(xiě)。
四、數(shù)據(jù)庫(kù)建立
需要在數(shù)據(jù)庫(kù)中新建一張表:
CREATE TABLE file(
id INTEGER PRIMARY KEY AUTOINCREMENT,
person TEXT(50),
filename TEXT(50),
filedata Image)
五、運(yùn)行測(cè)試
上傳文件的功能已經(jīng)完成,運(yùn)行ASP頁(yè)面,看看效果吧。可以通過(guò)訪問(wèn)上傳文件所在的頁(yè)面,點(diǎn)擊文件上傳按鈕進(jìn)行上傳,成功后可以在數(shù)據(jù)庫(kù)中查看到已經(jīng)上傳的文件。
本文介紹了如何,其中需要安裝相關(guān)組件并進(jìn)行配置。上傳文件至數(shù)據(jù)庫(kù)中存儲(chǔ),可以有效防止文件被下載軟件、爬蟲(chóng)等工具惡意下載,是一種非常常見(jiàn)的方式,希望本文能對(duì)您有所幫助。
相關(guān)問(wèn)題拓展閱讀:
5.0/Access數(shù)據(jù)庫(kù)空間和Linux平臺(tái)的“設(shè)置”→“控制面板”→“添加/最后不要忘了把你所選的背景圖片上傳到“網(wǎng)頁(yè)制作系統(tǒng)答嘩中賣(mài)舉困” (中念2)插入背景
1.使用風(fēng)聲無(wú)組件上核蠢傳類 2.0 ,
2.把下載的這個(gè)上傳類文件命名為UpLoadClass.asp,空氏銀并放在你的網(wǎng)站文件夾下。
3.在需要進(jìn)行上傳圖片的處理程序a.asp里對(duì)它進(jìn)行調(diào)用。(注意你的路徑,是不是在同一個(gè)文件夾下)
4.然后在上傳頁(yè)a.asp中添加
5.
strFile1=myrequest.Form(“newPhoto”斗宴) ‘這里的newphoto是表單里的文本框名
set rs=server.CreateObject(“adodb.recordset”)
sql=”select * from 表名”
rs.open sql,conn,1,3
rs.addnew
rs(“pic”)=strFile1 ‘這里的pic是數(shù)據(jù)表里的字段名
rs.update
rs.close
conn.close()
set conn=nothing
功能簡(jiǎn)介
‘ 將上傳的文件數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,可以處理表單中的多個(gè)上傳文件的情況茄野
‘ 適用于畝早各種數(shù)據(jù)庫(kù),使用ADO的方法連接數(shù)據(jù)庫(kù)
‘ 本示例中使用的是ACCESS數(shù)據(jù)庫(kù):zj.mdb
‘ 表:tb_img(id int(自增列),path text(255) 保存上傳文件的目錄
‘ ,fname text(250) 保存上傳的文件名,type test(250) 保存上傳迅納雀文件的類型
‘,img ole對(duì)象 保存上傳的文件內(nèi)容
‘
‘
‘==================================================================
‘==================================================================
‘
‘ 上傳文件的HTML頁(yè): zj_up.htm
‘
‘==================================================================
代碼:
文件上傳保存到數(shù)據(jù)庫(kù)中
‘==================================================================
‘
‘ 上傳文件保存到數(shù)據(jù)庫(kù)的ASP頁(yè): zj_up.asp
‘
‘==================================================================
代碼:
127 Then
iRe = iRe & Chr(AscW(MidB(sBin, iI + 1, 1) & iChr))
iI = iI + 1
Else
iRe = iRe & Chr(AscB(iChr))
End If
Next
End If
f_Bin2Str = iRe
End Function
iConcStr = “Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False” & _
“;Data Source=” & server.mappath(“zj.mdb”)
iSql=”tb_img”
set iRe=Server.CreateObject(“ADODB.Recordset”)
iRe.Open iSql,iConcStr,1,3
iLen=Request.TotalBytes
sBin=Request.BinaryRead(iLen)
iCrlf1 = ChrB(13) & ChrB(10)
iCrlf2 = iCrlf1 & iCrlf1
iLen = InStrB(1, sBin, iCrlf1) – 1
iSpc = LeftB(sBin, iLen)
sBin = MidB(sBin, iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) – 1
While iPos1 > 0
iStr = f_Bin2Str(LeftB(sBin, iPos1))
iPos1 = iPos1 + 5
iPos2 = InStrB(iPos1, sBin, iSpc)
iPos3 = InStr(iStr, “; filename=”””) + 12
If iPos3 > 12 Then
iStr = Mid(iStr, iPos3)
iPos3 = InStr(iStr, Chr(13) & Chr(10) & “Content-Type: “) – 2
iFn = Left(iStr, iPos3)
If iFn “” Then
iRe.AddNew
ire(“path”)=left(iFn,instrrev(iFn,””))
iRe(“fname”) = mid(iFn,instrrev(iFn,””)+1)
iRe(“type”) = Mid(iStr, iPos3 + 18)
iRe(“img”).AppendChunk MidB(sBin, iPos1, iPos2 – iPos1)
iRe.Update
End If
End If
sBin = MidB(sBin, iPos2 + iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) – 1
Wend
iRe.close
set iRe=Nothing
%>
‘==================================================================
‘
‘ 下載數(shù)據(jù)的ASP頁(yè): zj_down.asp
‘
‘==================================================================
代碼:
很多源碼里面都有那個(gè)功能的哦,就只有3個(gè)文件,你可以自己去研究一下?。。。?/p>
我有程序,你hi我,告訴我郵箱,我給你發(fā)過(guò)去吧。
關(guān)于asp上傳文件到數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流