人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

無組件圖文混合上傳示例,與大家分享

無組件圖文混合上傳示例,與大家分享

更新時間:2021-02-16 文章作者:未知 信息來源:網絡 閱讀次數:

以下代碼沒有規范,還有些功能沒完成,有那位高手能把它修改一下,封裝成類則更是造福大眾,或者以后有時間我會做的。有任何錯誤或建議請一定要給我發E-mail:sobina@21cn.com,謝謝。
  好了,少說多做,本示例在w2kServer,IIS5,SQL SERVER7中測試通過。
如有不明白的可到精華區查“圖象”或“圖片”關鍵字找到答案,或寫信給我。
  示例一共有三個文件:upload.htm(上傳界面)
process.asp(處理程序)
showimg.asp(顯示圖象)
數據庫:在pubs數據庫中建立一個新表名為imgtest
字段名    類型   長度
----------------------------------------------
 idint(自動編號)
 img iamge
 imginfo nchar 50

以下是三個文件的代碼:

upload.htm
---------------------------------------------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
td {font-size: 9pt}
a {color: #000000; text-decoration: none}
a:hover {text-decoration: underline}
.tx {height: 16px; width: 30px; border-color: black black #000000; border-top-width: 0px;

border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; font-size: 9pt;

background-color: #eeeeee; color: #0000FF}
.bt {font-size: 9pt; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px;

border-left-width: 0px; height: 16px; width: 80px; background-color: #eeeeee; cursor: hand}
.tx1 { height: 20px; width: 30px; font-size: 9pt; border: 1px solid; border-color: black black

#000000; color: #0000FF}
-->
</style>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="process.asp" enctype="multipart/form-data" >
<table width="71%" border="1" cellspacing="0" cellpadding="5" align="center"

bordercolordark="#CCCCCC" bordercolorlight="#000000">
<tr bgcolor="#CCCCCC">
<td height="22" align="left" valign="middle" bgcolor="#CCCCCC"> Sobina
的圖文上傳界面</td>
</tr>
<tr align="left" valign="middle" bgcolor="#eeeeee">
<td bgcolor="#eeeeee"> <br>
</td>
</tr>
<tr align="center" valign="middle">
<td align="left" id="upid" height="122">
<p>圖象路徑:
<input type="file" name="img" style="width:400" class="tx1" value="">
</p>
<p>圖象說明:
<input type="text" name="imginfo">
</p>
</td>
</tr>
<tr align="center" valign="middle" bgcolor="#eeeeee">
<td bgcolor="#eeeeee" height="2">
<input type="submit" name="Submit" value="· 提交 ·" class="bt">
<input type="reset" name="Submit2" value="· 重置 ·" class="bt">
</td>
</tr>

</form>
</body>
</html>
------------------------------------------------------------------------
process.asp
------------------------------------------------------------------------
<!--#include file="../bin/strCnn.asp"-->
<%
response.expires=0
'目的:將二進制字符轉換成普通字符
Function bin2str(binstr)
 Dim varlen,clow,ccc,skipflag
 skipflag=0
 ccc = ""
 varlen=LenB(binstr)
 For i=1 To varlen
 If skipflag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
 ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))
 skipflag=1
Else
 ccc = ccc & Chr(AscB(clow))
End If
 Else
skipflag=0
 End If
 Next
 bin2str = ccc
End Function

'目的:把表單中的圖象數據分離出來
'其中參數formsize為表單數據大小,formdata為表單的總數據
Function ImageUp(formsize,formdata)
bncrlf=chrb(13) & chrb(10)
divider=leftb(formdata,instrb(formdata,bncrlf)-1) 'formdata第一個bncrlf左邊的數據
datastart=instrb(formdata,bncrlf & bncrlf)+4'兩個bncrlf右邊的數據的起始位
dataend=instrb(datastart+1,formdata,divider)-datastart
Imageup=midb(formdata,datastart,dataend)
End Function

'目的:把表單中的變量值取出
'其中參數varName為要尋找的字段變量,strTXT為已從圖象中分離出來的的所有文本
Function findVar(varName,strTxt)
startPos=1
strLen=len(varName)+2
'表單中可能有多個同名變量(用在有主表與明細表中的數據更新中)
for i=1 to len(strTXT)
varStart=instr(startPos,strTXT,varName)+strLen+3
varEnd=instr(varStart,strTXT,"--")-2
varValLen=varEnd-varStart

inVar=mid(strTXT,varStart,varValLen)
findVar=findVar & inVar

startPos=instr(varStart,strTXT,varName)
if startPos=0 then exit for'如果找不到則退出循環
findVar=findVar & ","' 以","作為多個同名變量值間的分隔符,實際上本例倒不需要
next

End function
 
FormSize = Request.TotalBytes
FormData = Request.BinaryRead( FormSize )
Image = ImageUp(FormSize,Formdata)

'以下兩步不能省略,否則取不出文字
strTXT=mid(formdata,instr(formdata,image)+len(image)+1) '取出文字
strTXT=bin2str(strTXT)'二進制轉換成普通文字

imginfo=findVar("imginfo",strTXT)'相當于request.form("imginfo")
'MyArray = Split(imginfo, ",", -1, 1)'分離從imginfo返回的多個值,在本例子中不用

Application.Lock
set objCnn=Server.CreateObject("ADODB.Connection")
objCnn.Open strCnn
set rec=Server.CreateObject("ADODB.Recordset")
rec.Open "imgtest",objCnn,1,3
rec.addnew '如果你只想更新一個記錄,則可使這句失效
rec("imginfo")=imginfo
if Len(Image)>1 then
rec("img").Appendchunk Image '把圖象寫入數據庫
end if
rec.update
rec.close:set rec=nothing
set objCnn=Nothing
Application.Unlock
'輸出圖象說明和圖象
response.write imginfo
response.write "<img src='showimg.asp?imginfo=" & imginfo & "' boder=0>"
%>
-----------------------------------------------------------------------
showimg.asp
-----------------------------------------------------------------------
<!--#include file="../bin/strCnn.asp"-->
<%
response.expires=0
response.buffer=true
response.clear
Response.ContentType = "image/*"

set objCnn=server.CreateObject("ADODB.connection")
objCnn.Open strCnn

strsql="SELECT * FROM imgtest where imginfo='" & Request.QueryString("imginfo") & "'"
set rec=objCnn.Execute(strsql)

Response.BinaryWrite rec("img")

rec.close:set rec=nothing
set objCnn=nothing
%>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 郸城县| 嵊州市| 鹤山市| 安塞县| 崇阳县| 桑植县| 内乡县| 巩义市| 昌江| 惠州市| 陈巴尔虎旗| 乐陵市| 怀来县| 报价| 罗源县| 达拉特旗| 准格尔旗| 庐江县| 周至县| 文登市| 陕西省| 哈巴河县| 兰溪市| 鹰潭市| 什邡市| 梓潼县| 达州市| 凤山市| 布尔津县| 临夏市| 云林县| 滦平县| 玉龙| 噶尔县| 布尔津县| 慈利县| 三河市| 凌云县| 砀山县| 泸定县| 潮州市|