欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

asp將圖片保存到access數(shù)據(jù)庫

admin
2010年5月11日 16:11 本文熱度 7148
[p]一般我們上傳圖片都保存在文件目錄下,但有時因?yàn)樘厥庖笮枰獙D片保存在數(shù)據(jù)庫,接下來我講一下如何用asp實(shí)現(xiàn)將圖片保存到access數(shù)據(jù)庫的方法,具體如下:[/p]
[p]第一步、要制做一個access數(shù)據(jù)庫,我們給它起名字叫images.mdb,該數(shù)據(jù)庫里有兩個字段:id、img,id字段的類型設(shè)為自動編號,img字段的類型設(shè)為ole對象。 [/p]
[p] [/p]
[p]第二步、設(shè)計一個上傳的表單,根據(jù)要求可簡可繁。 [/p]
[p] [/p]
[p]第三步、設(shè)計后臺的圖片處理程序,可分為圖片上傳保存程序和圖片讀取程序。 [/p]
[p] [/p]
[p]第四步、圖片顯示。 [/p]
[p] [/p]
[p]下面給出程序并分別做介紹。 [/p]
[p] [/p]
[p]一、 表單程序updata.html [/p]
[p] [/p]
[p]它的功能是為上傳提供一個界面,表單的enctype屬性為multipart/form-data,它是設(shè)置表單的mime編碼的,只有使用了它才能完整地傳送文件的數(shù)據(jù)。 [/p]
[p] [/p]
[p][/p]
[p][/p]
[p]
[/p]
[p]
[p]action="process.asp" method="post">[/p]
[p][/p]
[p][/p]
[p]
[/p]
[p]
[/p]
[p][/p]
[p] [/p]
[p]二、 圖片的上傳與保存程序process.asp [/p]
[p] [/p]
[p]<%[/p]
[p]response.buffer=true[/p]
[p]formsize=request.totalbytes[/p]
[p]formdata=request.binaryread(formsize)[/p]
[p]bncrlf=chrb(13) & chrb(10)[/p]
[p]divider=leftb(formdata,clng(instrb(formdata,bncrlf))-1)[/p]
[p]datastart=instrb(formdata,bncrlf & bncrlf)+4[/p]
[p]dataend=instrb(datastart+1,formdata,divider)-datastart[/p]
[p]mydata=midb(formdata,datastart,dataend)[/p]
[p]set conngraph=server.createobject("adodb.connection")[/p]
[p]conngraph.open "provider=microsoft.jet.oledb.4.0;[br]data source=" & server.mappath("images.mdb")[/p]
[p]set rec=server.createobject("adodb.recordset")[/p]
[p]rec.open "select * from images where id is null",conngraph,1,3[/p]
[p]rec.addnew[/p]
[p]rec("img").appendchunk mydata[/p]
[p]rec.update[/p]
[p]rec.closes[/p]
[p]set rec=nothing[/p]
[p]set conngraph=nothing %> [/p]
[p]這段程序的功能是將上傳圖片的數(shù)據(jù)保存到數(shù)據(jù)庫里。下面分句說明各語句的作用。 [/p]
[p] [/p]
[p]response.buffer=true[/p]
[p]formsize=request.totalbytes[/p]
[p]formdata=request.binaryread(formsize) [/p]
[p]打開緩存功能,獲取客戶端總的發(fā)送數(shù)據(jù)量,獲取上傳過來的數(shù)據(jù)。 [/p]
[p] [/p]
[p]bncrlf=chrb(13) & chrb(10)[/p]
[p]divider=leftb(formdata,clng(instrb(formdata,bncrlf))-1) [/p]
[p]這兩個語句的意思是設(shè)一個二進(jìn)制回車符及得到一個divider分隔符,目的是為了確定圖片的位置。 [/p]
[p] [/p]
[p]datastart=instrb(formdata,bncrlf & bncrlf)+4[/p]
[p]dataend=instrb(datastart+1,formdata,divider)-datastart[/p]
[p]mydata=midb(formdata,datastart,dataend) [/p]
[p]以上三個語句是確定圖片數(shù)據(jù)的起始位置、結(jié)束位置及實(shí)際圖片的數(shù)據(jù)。 [/p]
[p] [/p]
[p]set conngraph=server.createobject("adodb.connection")[/p]
[p]conngraph.open "provider=microsoft.jet.oledb.4.0;[br]data source=" & server.mappath("images.mdb") [/p]
[p]創(chuàng)建connection對象,并連接microsoft access數(shù)據(jù)庫。 [/p]
[p] [/p]
[p]set rec=server.createobject("adodb.recordset")[/p]
[p]rec.open "select * from images where id is null",conngraph,1,3[/p]
[p]rec.addnew[/p]
[p]rec("img").appendchunk mydata [/p]
[p]創(chuàng)建recordset對象,打開數(shù)據(jù)庫并置為寫入狀態(tài),執(zhí)行rec.addnew增加一條新記錄,調(diào)用field對象的appendchunk方法將圖片數(shù)據(jù)保存到數(shù)據(jù)庫表的字段中。 [/p]
[p] [/p]
[p]后邊幾句關(guān)閉數(shù)據(jù)庫,釋放定義組件的設(shè)置。 [/p]
[p] [/p]
[p]三、 圖片的讀取程序showing.asp [/p]
[p] [/p]
[p]<%[/p]
[p]set conngraph=server.createobject("adodb.connection")[/p]
[p]conngraph.open "provider=microsoft.jet.oledb.4.0;[br]data source=" & server.mappath("images.mdb")[/p]
[p]set rec=server.createobject("adodb.recordset")[/p]
[p]id=trim(request.querystring("id"))[/p]
[p]strsql="select img from images where id="&request.querystring("id")&""[/p]
[p]rec.open strsql,conngraph,1,1[/p]
[p]response.contenttype = "image/gif"[/p]
[p]response.binarywrite rec("img").getchunk(7500000)[/p]
[p]rec.close[/p]
[p]set rec=nothing[/p]
[p]set conngraph=nothing[/p]
[p]%> [/p]
[p]以上程序是顯示圖片的后臺程序,主要功能是按照要求的id號讀取數(shù)據(jù)庫中圖片的數(shù)據(jù)。 [/p]
[p] [/p]
[p]response.binarywrite rec("img").getchunk(7500000) [/p]
[p]這里調(diào)用了field對象的getchunk(size)方法,size是字節(jié)數(shù)。 [/p]
[p] [/p]
[p]需要注意的是使用response對象的 contenttype屬性時mime類型的設(shè)置,我們這里將返回數(shù)據(jù)的類型設(shè)為圖形方式即image/gif方式,它可以顯示gif或jpg格式的圖形,如果設(shè)置為image/*,程序在執(zhí)行時將不能顯示圖片。 [/p]
[p] [/p]
[p]四、 圖片的顯示程序show.html [/p]
[p] [/p]
[p]圖片上傳保存到數(shù)據(jù)庫里就可以調(diào)用程序顯示圖片了,我們再做一個表單程序,提供要顯示圖片的id號。 [/p]
[p] [/p]
[p][/p]
[p][/p]
[p]
[/p]
[p]
[p]action="showing.asp" method="get">[/p]
[p]請輸入要顯示圖片的序號:[/p]
[p][/p]
[p]
[/p]
[p]
[/p]
[p][/p]
[p][/p]

該文章在 2010/5/11 16:11:09 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved