ASP编程:无组件图文夹杂上传示例
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;上传|示例|无组件 以下代码没有标准,另有些功效没完成,有那位妙手能把它修正一下,封装成类则更是造福公共,大概今后偶然间我会做的。有任何毛病或倡议请必定要给我发E-mail:sobina@21cn.com,感谢。好了,少说多做,本示例在w2kServer,IIS5,SQLSERVER7中测试经由过程。
若有不分明的可到精髓区查“图像”或“图片”关头字找到谜底,或写信给我。
示例一共有三个文件:upload.htm(上传界面)
process.asp(处置程序)
showimg.asp(显现图像)
数据库:在pubs数据库中创建一个新表名为imgtest
字段名 范例 长度
----------------------------------------------
idint(主动编号)
imgiamge
imginfonchar50
以下是三个文件的代码:
upload.htm
---------------------------------------------------------------------
<html>
<head>
<title>UntitledDocument</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<styletype="text/css">
<!--
td{font-size:9pt}
a{color:#000000;text-decoration:none}
a:hover{text-decoration:underline}
.tx{height:16px;width:30px;border-color:blackblack#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:1pxsolid;border-color:blackblack
#000000;color:#0000FF}
-->
</style>
</head>
<bodybgcolor="#FFFFFF"text="#000000">
<formname="form1"method="post"action="process.asp"enctype="multipart/form-data">
<tablewidth="71%"border="1"cellspacing="0"cellpadding="5"align="center"
bordercolordark="#CCCCCC"bordercolorlight="#000000">
<trbgcolor="#CCCCCC">
<tdheight="22"align="left"valign="middle"bgcolor="#CCCCCC">Sobina
的图文上传界面</td>
</tr>
<tralign="left"valign="middle"bgcolor="#eeeeee">
<tdbgcolor="#eeeeee"><br>
</td>
</tr>
<tralign="center"valign="middle">
<tdalign="left"id="upid"height="122">
<p>图像路径:
<inputtype="file"name="img"style="width:400"class="tx1"value="">
</p>
<p>图像申明:
<inputtype="text"name="imginfo">
</p>
</td>
</tr>
<tralign="center"valign="middle"bgcolor="#eeeeee">
<tdbgcolor="#eeeeee"height="2">
<inputtype="submit"name="Submit"value="・提交・"class="bt">
<inputtype="reset"name="Submit2"value="・重置・"class="bt">
</td>
</tr>
</table>
</form>
</body>
</html>
------------------------------------------------------------------------
process.asp
------------------------------------------------------------------------
<!--#includefile="../bin/strCnn.asp"-->
<%
response.expires=0
目标:将二进制字符转换成一般字符
Functionbin2str(binstr)
Dimvarlen,clow,ccc,skipflag
skipflag=0
ccc=""
varlen=LenB(binstr)
Fori=1Tovarlen
Ifskipflag=0Then
clow=MidB(binstr,i,1)
IfAscB(clow)>127Then
ccc=ccc&Chr(AscW(MidB(binstr,i+1,1)&clow))
skipflag=1
Else
ccc=ccc&Chr(AscB(clow))
EndIf
Else
skipflag=0
EndIf
Next
bin2str=ccc
EndFunction
目标:把表单中的图像数据分别出来
个中参数formsize为表双数据巨细,formdata为表单的总数据
FunctionImageUp(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)
EndFunction
目标:把表单中的变量值掏出
个中参数varName为要寻觅的字段变量,strTXT为已从图像平分离出来的的一切文本
FunctionfindVar(varName,strTxt)
startPos=1
strLen=len(varName)+2
表单中大概有多个同名变量(用在有主表与明细表中的数据更新中)
fori=1tolen(strTXT</p>asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 掌握asp的特性而且一定要知道为什么。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
页:
[1]