仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 513|回复: 10
打印 上一主题 下一主题

[学习教程] ASP网页设计无组件图片与文本同步存进数据库的最简...

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:59:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。数据|数据库|无组件无组件图片与文本同步存进数据库的最复杂的举措
动感教导网公布日期:2001-7-17字数:4798

一:媒介

起首,没有推测图片与文本的上传会引发这么年夜的注重。上一篇贴子(Id=435906)贴出后,有很多人来信说看不懂。或
是仍旧不克不及完成。我就以一种完整复杂的伎俩。完成无组件的文本与图片上传数据库一切历程。但愿能匡助一切对此有疑
问的网友。

二:筹办事情

依照常规,我先将我的测试情况告知人人。
体系:Win98se+pws+asp
编程情况:VisualInterdev6.0
数据库:Access2000(由于网友问的最多的都是Access2000的成绩。)
建一个库:access2000中,先建好一个Test.mdb的数据库。详细有四个字段。
id|text1|text2|img
主动编号文本文本OLE工具’假如是sqlserver则选择(image便可)

三:Areyouready,Go!!!

3-1.建上传表单:
我们晓得,图象与文本是两种分歧制式的文件(二进制,流式文本)而假如要统一表单提交的话,(file格局提交)则
我们猎取时就不克不及用本来的办法request.form而必需用equest.TotalBytes来取得一切的提交材料。但这时候两种格局的文件
夹杂在一同对照难分。我的上一贴已告知人人用二进制的办法来分隔这些材料。但非常贫苦,要用到很多二进值的函
数,以是很多网友来信问我有无更复杂的办法,好。我能够告知人人,有!并且包管上面的办法包管一学就会。(这类方
法很另类但巨人说过白猫,黑猫。能上彀的就是好猫!)

upload.asp(详细代码以下)

<%@language=vbscript%>
<html>
<head>
<metaname="VI60_defaultClientScript"content="VBScript">
<title>FileUpload</title>
<scriptID="clientEventHandlersVBS"LANGUAGE="vbscript">
<!--
Subform2_onsubmit//**这里是关头,当form2在提交的过程当中时,即活form1的提交
form1.submit//**以是我们这里用了两个表单,但只用一个提交就能够了。
EndSub
-->
</script>
</head>
<body>

<formname="form1"ENCTYPE="multipart/form-data"ACTION="upimage.asp"METHOD="POST"target="_blank">
Pleasechooseapicturetoupload:<br>
<inputNAME="picture"TYPE="FILE"><br>
</form>

<formname="form2"action="uptext.asp"method="post">
<inputtype="text"name="text1"><br>
<inputtype="text"name="text2"><br>
<inputtype="submit"value="提交">
</form>

</body>
</html>

3-2兵分两路来处置数据。
起首,文本很复杂。

uptext.asp(代码以下)

<%@language=vbscript%>
<%
strconn="driver={microsoftaccessdriver(*.mdb)};dbq="&server.MapPath("test.mdb")

text1=request.form("text1")
text2=request.form("text2")
response.writetext1
response.writetext2

setrs=Server.CreateObject("adodb.recordset")
sql="SELECTtop1*FROMimgtableORDERBYidDESC"’这里的意义是选择最初一个Id,既方才被修改
rs.Opensql,strconn,1,3’就是你上传的图象的两个文本字段。

rs("text1")=text1’注重,这里是修改不是增加,以是不必addnew。
rs("text2")=text2
rs.Update
rs.Close
%>
接着,来处置图象。
upimage.asp(详细代码以下)

<%
FormSize=Request.TotalBytes’失掉数据
FormData=Request.BinaryRead(FormSize)

functionImageUp(formsize,formdata)’这个函数的功效是截取个中的图象部分。
bncrlf=chrb(13)&chrb(10)’做成函数后。今后你能够本人随便利用了。
divider=leftb(formdata,instrb(formdata,bncrlf)-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
imageup=midb(formdata,datastart,dataend)
endfunction

Image=ImageUp(FormSize,Formdata)’这里就是图象部分了。

setrs=server.CreateObject("adodb.recordset")
strconn="driver={microsoftaccessdriver(*.mdb)};dbq="&server.MapPath("test.mdb")
sql="SELECT*FROMimgtable"
rs.Opensql,strconn,1,3

rs.AddNew’由于表单二在表单一提交的过程当中下提交了。
rs("img").appendchunkImage’以是这里是增加。
rs.Update
rs.Close


response.contenttype="image/gif"
response.binarywriteimageup(formsize,formdata)’这里是显现图象。暗示乐成!

%>

啊?!?!本来云云复杂!

四:“显现,我要同页显现”
终究完成了图文同步提交。(真的是同步吗?不是吗?是吗?唉,我们只是为懂得决成绩。何须认真哪?不
是吗?)
如今我们还要让他同页显现出来。实在,这是一样的思绪。我们也用两页来完成。

主页面:show.asp

<%@Language=VBScript%>
<%
strconn="driver={microsoftaccessdriver(*.mdb)};dbq="&server.MapPath("test.mdb")

setrs=Server.CreateObject("adodb.recordset")
sql="SELECTtop1*FROMimgtableORDERBYidDESC"
rs.Opensql,strconn,1,3
%>
<html>
<body>
以下是你的上传材料。<br>
文本一:<%Response.Writers("text1")%><br>
文本二:<%Response.Writers("text2")%><br>

你的图象:
<imgsrc=showimg.asp?id=<%=rs("id")%>>’注重这里,这才是关头。他能够完成网页图象与文本
</p>ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。
小妖女 该用户已被删除
沙发
发表于 2015-1-20 07:12:00 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-24 15:09:25 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
兰色精灵 该用户已被删除
地板
发表于 2015-1-26 13:27:51 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
金色的骷髅 该用户已被删除
5#
发表于 2015-1-30 13:00:28 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-1-31 16:42:57 来自手机 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
只想知道 该用户已被删除
7#
发表于 2015-2-6 20:35:46 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
飘灵儿 该用户已被删除
8#
发表于 2015-2-18 15:55:20 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
老尸 该用户已被删除
9#
发表于 2015-3-6 08:38:50 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
不帅 该用户已被删除
10#
发表于 2015-3-12 22:34:31 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
柔情似水 该用户已被删除
11#
发表于 2015-3-20 04:42:21 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表