第4章 要解决的技术困难问题4.1研究设计中要解决的技术困难 copyright paper51.com 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在使每商品有一个图片浏览功能,就要图片上传照片的功能。上传图片文件到服务器可以使用各种免费的文件上传组件,使用起来功能虽然很强大,但是由于很多情况下,我们只能使用免费的支持ASP的空间或者租用别人的虚拟空间,对于第一种情况,我们根本就没有可能来使用文件上传组件;至于第二种情况,我们也要付出不少的“钱才可以。除非你拥有自己的虚拟主机,你就可以随便的在服务器上面安装自己所需要的组件,这种情况对于大多数人来说是可望而不可及的。经过一段时间搜集资料,终于使我克服了这个困难,使用纯ASP代码来实现图片的上传功能。 copyright paper51.com 但是现在,网络的功能变得非常强大。通过浏览器上传图片已经变成大众需求,但现在网络中是提供的大部分是使用组件上传的解决方案。这对于租用虚拟主机的人来说,很难实现。下边讲述如何使用纯的ASP代码将单个图片上传到数据库中,并能够在网页中把图片显示出来。 paper51.com 4.2技术困难的解决方法4.2.1 图片上传的实现 copyright paper51.com 在ASP中进行图片上传要使用的是对象的方法。获取传递过来的数据一般是使用Request对象。同样的,我们也可以使用Request对象来获取上传上来的文件数据,所用的方法是Request.BinaryRead().而我们要冲数据库中读出图片的数据并将显示到网页上要用到的方法是:Request.BinaryWrite()。注意:我们得到了图片的数据并且要保存到数据库中的时候,不可以直接使用Insert语句对数据库进行操作,而是要使用ADO的AppendChunk方法,同样的,读出数据库中的图片数据, 要使用CetChunk方法。 内容来自论文无忧网 www.paper51.com 图片上传的主要程序: copyright paper51.com
formsize=request.totalbytes paper51.com '保存从可户端读取到的数据 内容来自www.paper51.com formdata=request.binaryread(formsize) http://www.paper51.com bncrlf=chrB(13)& chrB(10) http://www.paper51.com
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1) http://www.paper51.com
datastart=instrb(formdata,bncrlf& bncrlf)+4 copyright paper51.com dataend=instrb(datastart+1,formdata,divider)-datastart 内容来自论文无忧网 www.paper51.com mydata=midb(formdata,datastart,dataend) http://www.paper51.com '对有效二进制数据进行数据库保存,此过程使用了AppendChunk的方法 paper51.com
rs.addnew paper51.com rs("img").appendchunk=mydata http://www.paper51.com rs.update 内容来自论文无忧网 www.paper51.com
rs.close copyright paper51.com
'释放对象以及重新定向到main.html页面 copyright paper51.com set rs=nothing copyright paper51.com set conn=nothing paper51.com response.Redirect("main.html") 内容来自www.paper51.com 4.2.2 数据表photo中的数据显示到浏览器上 http://www.paper51.com 实现的主要代码如下: paper51.com
'显示图片 内容来自www.paper51.com
Response.ContentType= "image/jpeg" paper51.com
sponse.BinaryWriters("img") 内容来自论文无忧网 www.paper51.com
rs.close paper51.com '释放对象 http://www.paper51.com
set rs=nothing paper51.com set conn=nothing paper51.com 上诉将了图片的上传功能和图片的显示功能,如果需要更多的功能,我们可以在该例子的基础上进行修改,如:我们可以加限制上传图片的大小等功能。 内容来自论文无忧网 www.paper51.com 第5章 数据库连接及安全策略5.1 数据连接 copyright paper51.com ASP程序通过ADODB来连接和操作数据库。数据库连接文件如下: copyright paper51.com <% 内容来自论文无忧网 www.paper51.com ‘声明对象变量,打开数据库连接 paper51.com
dim db,conn,connstr copyright paper51.com
set Conn=server.CreateObject(“ADODB.Connection”) copyright paper51.com connstr=”driver={SQLServer};server=你主机的IP;uid=数据库服务器登录名;pwd=数据库服务器登录密码;database=数据库名” http://www.paper51.com conn.Open connstr paper51.com %> paper51.com 5.2 安全策略 http://www.paper51.com ⑴使用Session,限制未经登录的访问。当用户从登录界面登录,ASP程序进行帐号和密码的检查后,如果数据符合则成功登录,将用户的ID值写入到Session对象,对以后的页面都会先检查Session对象保存的数据,从而判断用户是否可以浏览页面,以达到安全控制的目的。如果检查失败则会导向不同的操作界面,以防越权操作。 内容来自www.paper51.com ⑵对系统用户进行分类,登录后分别导入不同的操作界面,以防越权操作。 copyright paper51.com ⑶对于重要的数据操作记录操作人的信息。 内容来自论文无忧网 www.paper51.com
第6章 系统功能模块的设计及实现6.1校园交易网系统流程分析6.1.1 购物交易流程 copyright paper51.com
⑴浏览商品信息 内容来自www.paper51.com l 商店选择可上网销售的商品,并制作相应的商品信息; copyright paper51.com l 建立后台的商品信息数据库; copyright paper51.com
l 建立网上商店的网站; copyright paper51.com ⑵选定商品 paper51.com l 顾客通过网络浏览校园交易网的主页; http://www.paper51.com l 待购商品一次可以选择多种商品; copyright paper51.com l 一次选择应该可以包括多件同一; http://www.paper51.com l 顾客详细填写购买信息、交货方式等; 内容来自论文无忧网 www.paper51.com ⑶购买商品 copyright paper51.com
l 顾客提交购物请求; paper51.com
l 商店发给顾客付款请求; copyright paper51.com l 顾客付款; http://www.paper51.com
l 顾客程序检查顾客的付款信息; 内容来自www.paper51.com ⑷商店向银行结算 内容来自www.paper51.com 根据上述交易流程,可以确定DM-ONLINE系统的基本功能,如下: http://www.paper51.com
①商品的显示与查找功能。 http://www.paper51.com 一个良好的网上商店系统,必须拥有良好的页面,只有这样才能吸引顾客的眼睛。同时,为了方便顾客的购物,必须提供优秀的产品搜索引擎。 copyright paper51.com
②用户的注册、登录、修改个人信息的功能。 copyright paper51.com 进入商店的顾客分为已注册和未注册两大类型。未注册用户可以注册新的用户,注册用户可以登录。注册的用户登录后,可以修改自己的个人信息。 内容来自论文无忧网 www.paper51.com ③用户确认订单,支付货款的功能。 copyright paper51.com
在用户确认购买商品后,应该提供货款的支付功能。由于本系统不可能连接现有的银行,因此在系统中提供了一个虚拟银行,可以使用这个虚拟银行中的帐号作为一种支付方式。 http://www.paper51.com 6.1.2 购物交易流程图 内容来自www.paper51.com
内容来自www.paper51.com
图6-1 购物交易流程图 paper51.com 6.2系统功能描述 copyright paper51.com
⑴数据连接公用模块 copyright paper51.com
本系统通过数据库连接文件conn.asp实现与数据库的连接,该文件也可以被其他文件所调用来实现数据库的连接。其代码如下: 内容来自www.paper51.com <% paper51.com
'打开数据库连接 内容来自www.paper51.com
‘定义连接数据库需要的变量 内容来自论文无忧网 www.paper51.com dimconn,connstr,db,rs http://www.paper51.com ‘数据库连接的对象 内容来自www.paper51.com db="manage/db/db.mdb" 内容来自论文无忧网 www.paper51.com
‘初始化连接对象 copyright paper51.com
Set conn =Server.CreateObject("ADODB.Connection") http://www.paper51.com connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" & Server.MapPath(""&db&"") 内容来自www.paper51.com conn.Open connstr 内容来自www.paper51.com %> http://www.paper51.com
|