仓酷云 发表于 2015-1-16 23:35:36

ASP编程:WEB情况中背景主动上传文件至数据库的实...

Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;web|背景|上传|数据|数据库

概述
本文解说了一个利用办公之星控件完成背景主动上传文件的例子,利用该办法没有选择文件步骤,能够在WEB情况下完成相似单机情况下点击保留文件的效果。

弁言

为了在HTML网页中取得上传功效,在客户端我们可使用以下格局的FORM:

<FORMNAME="myForm"
ACTION="TargetURL.asp"
ENCTYPE="multipart/form-data"
METHOD="post">
<INPUTTYPE="file"NAME="myFile">
<INPUTTYPE="submit"VALUE="UploadFile">
</FORM>

这类计划在客户端和服务器真个利用都有良多限定。起首,我们必需利用POST办法,由于GET办法没法处置如许的表双数据。而且,没有甚么办法能够在不利用表单的情形下激发一个POST举措。把数据发送给表单处置程序后,扫瞄器将会把处置程序作为新页面加载,然后利用者会看到一个不讨人喜好的页面转换历程。

办公之星控件中的上传计划

必要依照以下步骤操纵:

客户端:

将办公之星控件所编纂的文档保留至当地
使用HTTP协定将保留的一时文档发送给Web服务器

服务器端:

从Request工具中读出上传的二进制文档
读出二进制数据而且存储到数据库的BLOB型字段中。

使用办公之星控件能够在WEB情况下完成和WORD功效相称的图文混排和字处置功效,但怎样将所编纂的文档保留至服务器端?上述的计划仿佛没有甚么新器材。依照媒介中的申明,file控件的value值为只读,必定存在选择文档在手动点击上传按钮的历程。是如许吗?先先容二个办公之星控件接口办法:

1.SaveToTempFile(strfilename)

将以后用办公之星控件编纂的文档保留至当地构成一个一时文件,参数filename为一时文件的文件称号。该办法会前往一个参数,这个参数暗示一时文件的相对路径。示例:SaveToTempFile("abc.ost")

2.UpLoadFile(strfilepath,stroperatorfile)

将当地指定文件上传至服务器端,参数filepath为当地待上传文件的相对路径,operatorfile为服务器端用来吸收上传文件流的文件称号。该办法会前往一个参数,提醒操纵过程当中是不是乐成。示例:UpLoadFile("c:abc.ost","http://www.oapro.com/save.asp")

看到这里,信任您已分明了,办公之星控件已供应接口办法,将指定文件主动上传。上面给出客户端完全的代码:

<scriptlanguage="vbscript">
PublicSubmnuFileSave_click()
dimstr,strRet

天生一时文件
str=OStar.SaveToTempFile("abc.ost")

将一时文件上传
strRet=OStar.UpLoadFile(str,"http://www.oapro.com/save.asp")

上传乐成与否提醒
alert(strRet)
EndSub
</script>

上述页面中OStar为办公之星控件在页面中的操纵工具称号。以下代码为服务器端怎样处置上传文件并保留至数据库:

<%
界说变量和工具
dimsql
dimrs
dimUpFile
dimconn
dimconnstr
dimdb

保留上传文件的数据库称号
db="db.mdb"

获得上传的二进制数据
UpFile=Request.BinaryRead(Request.TotalBytes)

创建数据库毗连
Setconn=Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(""&db&"")
conn.Openconnstr
sql="selectUpFilefromOStarRepTemplatewhere(idisnull)"
rs.opensql,conn,1,3
rs.addnew

增加上传的二进制内容进数据库
rs("UpFile").AppendChunkUpFile
rs.update

烧毁数据库毗连工具
rs.close
setrs=nothing
conn.close
setconn=nothing

前往存储信息
Response.Write"Uploadsuccessful!"
%>

以上服务器端代码并未思索是不是第一次保留,假如是的话,那末在数据库中新建一个纪录保留上传的文件,假如不是第一次保留,那末应当是修正之前保留的纪录。

利用该办法的好处

不引发页面转换。
不必要公用组件。

这段程序是纯剧本写成的,能够很简单的拔出到其他代码中,而不必要任何HTML工具的共同。还能够把这个逻辑在任何撑持COM尺度的言语中完成。


</p>asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般

admin 发表于 2015-1-20 10:06:15

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

飘飘悠悠 发表于 2015-1-29 06:44:22

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

活着的死人 发表于 2015-2-5 23:29:06

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

只想知道 发表于 2015-2-14 05:16:45

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

柔情似水 发表于 2015-3-4 04:49:26

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

莫相离 发表于 2015-3-11 16:57:44

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

蒙在股里 发表于 2015-3-19 02:27:33

那么,ASP.Net有哪些改进呢?

乐观 发表于 2015-3-27 05:10:44

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

若相依 发表于 2015-3-27 05:10:44

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
页: [1]
查看完整版本: ASP编程:WEB情况中背景主动上传文件至数据库的实...