ASP瀹炵幇鍥剧墖涓婁紶
鍙戝竷: 2008-6-27 11:50 | 浣滆: admin | 鏌ョ湅: 6娆
鐢ˋSP缂栧啓缃戠珯搴旂敤绋嬪簭鏃堕棿闀夸簡锛岄毦鍏嶄細閬囧埌鍚勫紡鍚勬牱鐨勯棶棰橈紝鍏朵腑鍏充簬濡備綍涓婁紶鏂囦欢鍒版湇
鍔″櫒鎭愭曟槸閬囪鏈澶氱殑闂浜嗭紝灏ゅ叾鏄笂浼犲浘鐗囷紝姣斿浣犳兂瑕佸湪鑷繁鐨勭ぞ鍖洪噷闈㈠疄鐜扮被浼肩綉鏄
铏氭嫙绀惧尯鎻愪緵鐨勨滄瘡鏃ヤ竴鏄熲濈殑鍔熻兘锛屽氨瑕佹彁渚涚粰缃戝弸涓婁紶鐓х墖鐨勫姛鑳姐備笂浼犲浘鐗囨枃浠跺埌鏈嶅姟
鍣ㄥ彲浠ヤ娇鐢ㄥ悇绉嶅厤璐圭殑鏂囦欢涓婁紶缁勪欢锛屼娇鐢ㄨ捣鏉ュ姛鑳借櫧鐒跺緢寮哄ぇ锛屼絾鏄敱浜庡緢澶氭儏鍐典笅锛屾垜浠
鍙兘浣跨敤鍏嶈垂鐨勬敮鎸侊肌锛筹及鐨勭┖闂存垨鑰呯鐢ㄥ埆浜虹殑铏氭嫙绌洪棿锛屽浜庣涓绉嶆儏鍐碉紝鎴戜滑鏍规湰灏辨病
鏈夊彲鑳芥潵浣跨敤鏂囦欢涓婁紶缁勪欢锛涜嚦浜庣浜岀鎯呭喌锛屾垜浠篃瑕佷粯鍑轰笉灏戠殑鈥滈摱瀛愨濇墠鍙互銆傞櫎闈炰綘
鎷ユ湁鑷繁鐨勮櫄鎷熶富鏈猴紝浣犲氨鍙互闅忎究鐨勫湪鏈嶅姟鍣ㄤ笂闈㈠畨瑁呰嚜宸辨墍闇瑕佺殑缁勪欢锛岃繖绉嶆儏鍐靛浜庡ぇ
澶氭暟浜烘潵璇存槸鍙湜鑰屼笉鍙強鐨勩傞偅鎴戜滑灏辨病鏈夊姙娉曚簡鍚楋紵鍛靛懙锛岀瓟妗堟槸鑲畾鐨勶紙褰撶劧鏄偗瀹氱殑
浜嗭紝瑕佷笉鐒舵垜涔熸病娉曞啓鍑鸿繖绡囨枃绔犲晩锛夈備笅闈㈠氨璁╂垜浠竴璧锋潵浣跨敤绾肌锛筹及浠g爜鏉ュ疄鐜板浘鐗囩殑
涓婁紶浠ュ強淇濆瓨鍒版暟鎹簱鐨勫姛鑳斤紙椤轰究涔熷疄鐜版樉绀烘暟鎹簱涓殑鍥剧墖鍒扮綉椤典笂鐨勫姛鑳斤級銆
銆銆棣栧厛鎴戜滑鍏堟潵鐔熸倝涓涓嬪皢瑕佷娇鐢ㄧ殑瀵硅薄鏂规硶銆傛垜浠敤鏉ヨ幏鍙栦笂涓涓〉闈紶閫掕繃鏉ョ殑鏁版嵁涓
鑸槸浣跨敤Request瀵硅薄銆傚悓鏍风殑锛屾垜浠篃鍙互浣跨敤Request瀵硅薄鏉ヨ幏鍙栦笂浼犱笂鏉ョ殑鏂囦欢鏁版嵁锛屼娇
鐢ㄧ殑鏂规硶鏄疪equest.BinaryRead()銆傝屾垜浠浠庢暟鎹簱涓鍑烘潵鍥剧墖鐨勬暟鎹樉绀哄埌缃戦〉涓婇潰瑕
鐢ㄥ埌鐨勬柟娉曟槸锛
Request.BinaryWrite()銆傚湪鎴戜滑寰楀埌浜嗗浘鐗囩殑鏁版嵁锛岃淇濆瓨鍒版暟鎹簱涓殑鏃跺欙紝涓嶅彲浠ョ洿鎺
浣跨敤Insert璇彞瀵规暟鎹簱杩涜鎿嶄綔锛岃屾槸瑕佷娇鐢ˋDO鐨凙ppendChunk鏂规硶锛屽悓鏍风殑锛岃鍑烘暟鎹簱
涓殑鍥剧墖鏁版嵁锛岃浣跨敤GetChunk鏂规硶銆傚悇涓柟娉曠殑鍏蜂綋璇硶濡備笅锛
*Request.BinaryRead璇硶锛
variant=Request.BinaryRead(count)
鍙傛暟
variant
杩斿洖鍊间繚瀛樼潃浠庡鎴风璇诲彇鍒版暟鎹
count
鎸囨槑瑕佷粠瀹㈡埛绔鍙栫殑鏁版嵁閲忓ぇ灏忥紝杩欎釜鍊煎皬浜庢垨鑰呯瓑浜庝娇鐢ㄦ柟娉昍equest.TotalBytes寰楀埌鐨
鏁版嵁閲忋
*Request.BinaryWrite璇硶锛
Request.BinaryWritedata
鍙傛暟
data
瑕佸啓鍏ュ埌瀹㈡埛绔祻瑙堝櫒涓殑鏁版嵁鍖呫
*Request.TotalBytes璇硶锛
variant=Request.TotalBytes
鍙傛暟
variant
杩斿洖浠庡鎴风璇诲彇鍒版暟鎹噺鐨勫瓧鑺傛暟銆
*AppendChunk璇硶
灏嗘暟鎹拷鍔犲埌澶у瀷鏂囨湰銆佷簩杩涘埗鏁版嵁Field鎴朠arameter瀵硅薄銆
object.AppendChunkData
鍙傛暟
objectField鎴朠arameter瀵硅薄
Data鍙樹綋鍨嬶紝鍖呭惈杩藉姞鍒板璞′腑鐨勬暟鎹
璇存槑
浣跨敤Field鎴朠arameter瀵硅薄鐨凙ppendChunk鏂规硶鍙皢闀夸簩杩涘埗鎴栧瓧绗︽暟
銆銆鎹~鍐欏埌瀵硅薄涓傚湪绯荤粺鍐呭瓨鏈夐檺鐨勬儏鍐典笅锛屽彲浠ヤ娇鐢ˋppendChunk鏂规硶瀵归暱鏁村瀷鍊艰繘琛
閮ㄥ垎鑰岄潪鍏ㄩ儴鐨勬搷浣溿
*GetChunk璇硶
杩斿洖澶у瀷鏂囨湰鎴栦簩杩涘埗鏁版嵁Field瀵硅薄鐨勫叏閮ㄦ垨閮ㄥ垎鍐呭銆
variable=field.GetChunk(Size)
杩斿洖鍊
杩斿洖鍙樹綋鍨嬨
鍙傛暟
Size闀挎暣鍨嬭〃杈惧紡锛岀瓑浜庢墍瑕佹绱㈢殑瀛楄妭鎴栧瓧绗︽暟銆
璇存槑
銆銆浣跨敤Field瀵硅薄鐨凣etChunk鏂规硶妫绱㈠叾閮ㄥ垎鎴栧叏閮ㄩ暱浜岃繘鍒舵垨瀛楃鏁版嵁銆傚湪绯荤粺鍐呭瓨鏈夐檺
鐨勬儏鍐典笅锛屽彲浣跨敤GetChunk鏂规硶澶勭悊閮ㄥ垎鑰岄潪鍏ㄩ儴鐨勯暱鏁村瀷鍊笺
GetChunk璋冪敤杩斿洖鐨勬暟鎹皢璧嬬粰鈥滃彉閲忊濄傚鏋淪ize澶т簬鍓╀綑鐨勬暟鎹紝鍒
GetChunk浠呰繑鍥炲墿浣欑殑鏁版嵁鑰屾棤闇鐢ㄧ┖鐧藉~鍏呪滃彉閲忊濄傚鏋滃瓧娈典负绌猴紝鍒
GetChunk鏂规硶杩斿洖Null銆
銆銆姣忎釜鍚庣画鐨凣etChunk璋冪敤灏嗘绱粠鍓嶄竴娆etChunk璋冪敤鍋滄澶勫紑濮嬬殑鏁版嵁銆備絾鏄紝濡傛灉浠
涓涓瓧娈垫绱㈡暟鎹劧鍚庡湪褰撳墠璁板綍涓缃垨璇诲彇鍙︿竴涓瓧娈电殑鍊硷紝ADO灏嗚涓哄凡浠庣涓涓瓧娈
涓绱㈠嚭鏁版嵁銆傚鏋滃湪绗竴涓瓧娈典笂鍐嶆璋冪敤GetChunk鏂规硶锛孉DO灏嗘妸璋冪敤瑙i噴涓烘柊鐨凣etChu
nk鎿嶄綔骞朵粠璁板綍鐨勮捣濮嬪寮濮嬭鍙栥傚鏋滃叾浠朢ecordset瀵硅薄涓嶆槸棣栦釜Recordset瀵硅薄鐨勫壇鏈紝
鍒欒闂叾涓殑瀛楁涓嶄細鐮村潖GetChunk鎿嶄綔銆
濡傛灉Field瀵硅薄鐨凙ttributes灞炴т腑鐨刟dFldLong浣嶈缃负True锛屽垯鍙互瀵硅瀛楁浣跨敤GetChun
k鏂规硶銆
濡傛灉鍦‵ield瀵硅薄涓婁娇鐢℅etchunk鏂规硶鏃舵病鏈夊綋鍓嶈褰曪紝灏嗕骇鐢熼敊璇3021锛堟棤褰撳墠璁板綍锛夈
銆銆鎺ヤ笅鏉ワ紝鎴戜滑灏辫鏉ヨ璁℃垜浠殑鏁版嵁搴撲簡锛屼綔涓烘祴璇曟垜浠殑鏁版嵁搴撶粨鏋勫涓嬶紙Access200
0锛夛細
瀛楁鍚嶇О銆銆銆銆绫诲瀷銆銆銆銆鎻忚堪
銆銆id銆銆銆鑷姩缂栧彿銆銆銆涓婚敭鍊
img OLE瀵硅薄銆銆銆鐢ㄦ潵淇濆瓨鍥剧墖鏁版嵁銆
瀵逛簬鍦∕SSQLServer7涓紝瀵瑰簲鐨勭粨鏋勫涓嬶細
瀛楁鍚嶇О銆銆銆銆绫诲瀷銆銆銆銆鎻忚堪
銆銆id銆銆銆銆int(Identity)銆 涓婚敭鍊
img銆銆 image銆銆銆 鐢ㄦ潵淇濆瓨鍥剧墖鏁版嵁銆
鐜板湪寮濮嬫寮忕紪鍐欐垜浠殑绾肌锛筹及浠g爜涓婁紶閮ㄥ垎浜嗭紝棣栧厛锛屾垜浠湁涓涓彁渚涚粰鐢ㄦ埛鐨勪笂浼犵晫闈
锛屽彲浠ヨ鐢ㄦ埛閫夋嫨瑕佷笂浼犵殑鍥剧墖銆備唬鐮佸涓
锛坲pload.htm锛夛細
娉ㄦ剰enctype="multipart/form-data"锛屼竴瀹氳鍦‵orm涓湁杩欎釜灞炴э紝鍚﹀垯锛屽皢鏃犳硶寰楀埌涓婁紶
涓婃潵鐨勬暟鎹傛帴涓嬫潵锛屾垜浠鍦╬rocess.asp涓浠庢祻瑙堝櫒涓幏鍙栫殑鏁版嵁杩涜蹇呰鐨勫鐞嗭紝鍥
涓烘垜浠湪process.asp涓幏鍙栧埌鐨勬暟鎹笉浠呬粎鍖呭惈浜嗘垜浠兂瑕佺殑涓婁紶涓婃潵鐨勫浘鐗囩殑鏁版嵁锛屼篃鍖
鍚簡鍏朵粬鐨勬棤鐢ㄧ殑淇℃伅锛屾垜浠渶瑕佸墧闄ゅ啑浣欐暟鎹紝骞跺皢澶勭悊杩囩殑鍥剧墖鏁版嵁淇濆瓨鍒版暟鎹簱涓紝杩
閲屾垜浠互access2000涓轰緥銆傚叿浣撲唬鐮佸涓嬶紙process.asp锛夛細
<%
response.buffer=true
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13)&chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
setconnGraph=server.CreateObject("ADODB.connection")
connGraph.ConnectionString="driver={MicrosoftAccessDriver(*.mdb)};DBQ="&server.Ma
pPath("images.mdb")&";uid=;PWD=;"
connGraph.Open
setrec=server.createobject("ADODB.recordset")
rec.Open"SELECT*FROM[images]whereidisnull",connGraph,1,3
rec.addnew
rec("img").appendchunkmydata
rec.update
rec.close
setrec=nothing
setconnGraph=nothing
%>
濂戒簡锛岃繖涓嬫垜浠氨鎶婁笂浼犳潵鐨勫浘鐗囦繚瀛樺埌浜嗗悕涓篿mages.mdb鐨勬暟鎹簱涓簡锛屽墿涓嬬殑宸ヤ綔灏辨槸瑕
灏嗘暟鎹簱涓殑鍥剧墖鏁版嵁鏄剧ず鍒扮綉椤典笂闈簡銆備竴鑸湪锛即锛棘涓紝鏄剧ず鍥剧墖閮芥槸浣跨敤鏍囩
锛屼篃灏辨槸
鍛紵鍛靛懙锛屽叾瀹炶繖涓猄RC灞炴ч櫎浜嗘寚瀹氳矾寰勫锛屼篃鍙互杩欐牱浣跨敤鍝︼細
鎵浠ワ紝鎴戜滑鎵瑕佸仛鐨勫氨鏄湪showimg.asp涓粠鏁版嵁搴撲腑璇诲嚭鏉ョ鍚堟潯浠剁殑
鏁版嵁锛屽苟杩斿洖鍒癝RC灞炴т腑灏卞彲浠ヤ簡锛屽叿浣撲唬鐮佸涓嬶紙showimg.asp锛夛細
<%
setconnGraph=server.CreateObject("ADODB.connection")
connGraph.ConnectionString="driver={MicrosoftAccessDriver(*.mdb)};DBQ="&
server.MapPath("images.mdb")&";uid=;PWD=;"
connGraph.Open
setrec=server.createobject("ADODB.recordset")
strsql="selectimgfromimageswhereid="&trim(request("id"))
rec.openstrsql,connGraph,1,1
Response.ContentType="image/*"
Response.BinaryWriterec("img").getChunk(7500000)
rec.close
setrec=nothing
setconnGraph=nothing
%>
娉ㄦ剰鍦ㄨ緭鍑哄埌娴忚鍣ㄤ箣鍓嶄竴瀹氳鎸囧畾Response.ContentType="image/*"锛
浠ヤ究姝e父鏄剧ず鍥剧墖銆
鏈鍚庤娉ㄦ剰鐨勫湴鏂规槸锛屾垜鐨刾rocess.asp涓綔鐨勫鐞嗘病鏈夎冭檻鍒扮涓椤(upload.htm)涓繕鏈夊叾
浠栨暟鎹紝姣斿绛夌瓑锛屽鏋滄湁杩欎簺椤圭洰锛屼綘鐨刾rocess.asp灏
瑕佹敞鎰忓鐞嗘帀涓嶅繀瑕佺殑鏁版嵁銆




发表于 2009-1-5 19:48
| 











