ASP网页编程之在线编纂公函并保留到背景数据库
结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。背景|数据|数据库|在线在线编纂公函并保留到背景数据库--------------------------------------------------------------------------------
http://www.standsoft.com(2004.1.14)文章智岛软件
在线演示http://www.oapro.com/ostarocx/sample/savefilepro/default.asp
源代码http://www.oapro.com/ostarocx/download/OStarOCX_savefile.rar
概述
本文解说了一个利用办公之星控件完成在线编纂文件并保留到背景数据库的例子,利用该办法没有选择文件步骤,能够在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>因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 不能只是将它停留在纸上谈兵的程度上。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
页:
[1]