仓酷云

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

[学习教程] ASP网页设计ASP文件上逼真功 第一重(单个图片上传...

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:23:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;上传|数据|数据库第一重:单个图片上传到数据库

  这个成绩已不是甚么奇怪成绩了,网上也有年夜把的教程,但年夜多半是授人以鱼,而不授人以渔,经由辛劳的材料搜集,思索,调试,收拾,我基础上已把这个成绩从道理上弄分明了,如今依据我本人的了解,在典范程序的基本上,加以注释,但愿能对部分网友(比我还菜的:-))有所匡助。

  请诸位年夜虾能对个中的不正或不良这处予以斧正。

  程序中stream工具的用法上参考了“化境HTTP上传程序Version2.0”在代码,在此对稻喷鼻老农和梁无惧暗示衷心的感激和由衷的敬意。

  我想循规蹈矩,明天先讲一个复杂的,单个图片文件保留到数据库。

这个典范共包含三个ASP文件和一个数据库(一个表),全体在统一目次下。

1、tblImage表布局(ACCESS2000)

  sn     主动编号 序列号
  content-type 文本   图片范例
  image   OLE工具 图片数据

2、SimpleImageToData.asp:上传表单及保留图片到数据库的代码部分,次要文件。

<%@Language=VBScript%>
<%optionexplicit%>

<%
从一个完全路径中析出文件称号
functiongetFileNamefromPath(strPath)
getFileNamefromPath=mid(strPath,instrrev(strPath,"")+1)
endfunction

界说数据库毗连字符串
dimcnstr
cnstr="driver={MicrosoftAccessDriver(*.mdb)};dbq="&server.MapPath("./upload.mdb")
%>

<HTML>
<HEAD>
<title>单个图象保留到数据库</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</HEAD>
<body>
<p><ahref="SimpleImageToData.asp">上传图片</a>
<ahref="ShowImageListFromData.asp">显现图片</a><hr></p>

<%
ifrequest.ServerVariables("REQUEST_METHOD")="POST"then

dimsCome,sGo,binData,strData
dimposB,posE,posSB,posSE
dimbinCrlf
dimstrPath,strFileName,strContentType

binCrlf=chrb(13)&chrb(10)界说一个单字节的回车换行符

setsCome=server.CreateObject("adodb.stream")
sCome.Type=1指定前往数据范例adTypeBinary=1,adTypeText=2
sCome.Mode=3指定翻开形式adModeRead=1,adModeWrite=2,adModeReadWrite=3
sCome.Open
sCome.Writerequest.BinaryRead(request.TotalBytes)

sCome.Position=0
binData=sCome.Read

response.BinaryWritebinData调试用:显现提交的一切数据
response.Write"<hr>"调试用

setsGo=server.CreateObject("adodb.stream")
sGo.Type=1
sGo.Mode=3
sGo.Open

posB=1
posB=instrb(posB,binData,binCrlf)
posE=instrb(posB+1,binData,binCrlf)
response.WriteposB&"|"&posE&"<br>"

sCome.Position=posB+1
sCome.CopyTosGo,posE-posB-2
sGo.Position=0
sGo.Type=2
sGo.Charset="gb2312"
strData=sGo.ReadText
sGo.Close

response.WritestrData&"<hr>"

posSB=1
posSB=instr(posSB,strData,"filename=""")+len("filename=""")
posSE=instr(posSB,strData,"""")

ifposSE>posSBthen
strPath=mid(strData,posSB,posSE-posSB)
response.Write"当地路径:"&strPath&"<br>"
response.Write"文件名:"&getFileNamefromPath(strPath)&"<br>"

posB=posE
posE=instrb(posB+1,binData,binCrlf)
response.WriteposB&"|"&posE&"<br>"

sGo.Type=1
sGo.Mode=3
sGo.Open

sCome.Position=posB
sCome.CopyTosGo,posE-posB-1

sGo.Position=0
sGo.Type=2
sGo.Charset="gb2312"
strData=sGo.ReadText
sGo.Close

strContentType=mid(strData,16)此处由于流动的,以是省略查找:-)
response.Write"图片范例:"&strContentType&"<hr>"

posB=posE+2
posE=instrb(posB+1,binData,binCrlf)
response.WriteposB&"|"&posE&"<br>"

sGo.Type=1
sGo.Mode=3
sGo.Open

sCome.Position=posB+1
sCome.CopyTosGo,posE-posB-2

sGo.Position=0
strData=sGo.Read
sGo.Close

response.Writelenb(strData)&"<br>"

dimcn,rs,sql
setcn=server.CreateObject("adodb.connection")
cn.Opencnstr
setrs=server.CreateObject("adodb.recordset")
sql="select*fromtblImage"
rs.Opensql,cn,1,3
rs.AddNew
rs.Fields("content-type").Value=strContentType
rs.Fie</p>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
分手快乐 该用户已被删除
沙发
 楼主| 发表于 2015-1-20 09:45:27 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-24 15:16:14 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
活着的死人 该用户已被删除
地板
发表于 2015-2-1 17:59:03 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-2 22:03:25 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
爱飞 该用户已被删除
6#
发表于 2015-2-3 21:44:23 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
再现理想 该用户已被删除
7#
发表于 2015-2-27 00:51:12 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-8 18:46:51 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
飘灵儿 该用户已被删除
9#
发表于 2015-3-16 11:22:53 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
若相依 该用户已被删除
10#
发表于 2015-3-22 22:45:13 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-25 13:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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