只想知道 发表于 2015-1-16 23:17:12

ASP编程:深切研讨“用ASP上载文件”(转)(二)

写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)2、在ASP中实行
如今已得出结论,RFC1867是在WEB使用程序上载文件的最好体例。那末怎样来运转?Microsoft供应了甚么办法?别的有哪些办法能够用?

  Microsoft的PostingAcceptor

  ASP不撑持multipart/form-data编码体例,可是,Microsoft供应了收费的Posting    Acceptor(http://www.microsoft.com/iis/support/iishelp/iis/htm/core/pareadme.htm),它是一个ISAPI使用程序,上载停止后,发生一个到ASP页的从头送达。(见ScottStanfield的文章issueofMIND(98年七月))。

  SoftwareArtisans的SA-FileUp

  SA-FileUp(http://www.softartisans.com/softartisans/saf.html)是最早的贸易举动服务器组件(ActiveServerComponents)之一。初版是97年5月入手下手利用的,如今全球包含Microsoft.com在内的上千个网站都在利用它。初期的Beta版本用ISAPI过滤器和举动服务器组件的团结体与ASP分离起来。接着,Microsoft推出了ASP1.0b(ASP.DLL1.15.14.0),供应了一种新办法:Request.BinaryRead(二进制读哀求)。二进制读办法使扫瞄器中的原始未加工数据能够被举动服务器组件利用。如许一来,SA-FileUp就不再必要ISAPI过滤器,而作为一个ASP组件存在了。

  SA-FileUp利用二进制读哀求,而不是经由过程表单工具。如许是成心义的:你怎能一边从扫瞄器读原始数据流,又同时把它作为表信息来剖析呢?为了照应ASP开辟职员,SA-FileUp在它本人的表集里从头供应了一切的表哀求功效。如许使习气于利用表哀求的ASP编程职员对SA-FileUp可以加倍熟习。

  PostingAcceptor与SA-FileUp之对照

  如今就PA和SA-FileUp举行一个尽量客不雅的对照:

  ■与ASP的分离性:SA-FileUp在ASP中是完整可剧本化的,它能够与ASP使用程序很好地分离起来,而不是作为一个自力的ISAPIDLL存在。

  ■尺度撑持性:从IE扫瞄器举行PA上载要利用其独有的WebPostAPI,以是不如RFC1867,利用PA,关于Netscape和IE用户要利用分歧的格局。


  ■匿名毗连:因为PA利用一个ISAPIDLL,在ASP使用程序之外它就必需供应分外的平安回护。因而在默许形态下PA不同意统统匿名毗连。PA1.1能够同意匿名上载,可是由于有一个上载的编程把持,这里仍旧有必定的伤害。因为SA-FileUp已和ASP分离在一同,使用程序能够决意得当的平安度,包含匿名。


  ■上载把持:上载正在发送时,PA不同意任何把持。可是用SA-FileUp,能够限定上载的范围或及时决意作废上载。而最好的一点在于能够静态改动上载的地位。


  ■处置历程:PA有两步:上载和从头送达。用SA-FileUp,统统都能够一步完成,比方依据上载的形态写数据库。


  ■上载到一个数据库:PA只能上载到文件,SA-FileUp可上载到文件和数据库。

  ■“文件名中的空格”:当处置含有空格的文件名时,PA存在成绩;SA-FileUp就没有如许的毛病。


  ■代价:PA可从Microsoft收费下载,与NT选项软择包绑缚在一同。而SA-FileUp不是收费的:它是有撑持的贸易组件。

  VertigoSoftware的总裁ScottStanfield(http://www.vertigosoftware.com/),是MIND杂志98年7月号上PostAccetpor文章的作者,MIND上的文章宣布以后,在SoftwareArtisans上关于SA-FileUp,他又写道:“晓得了十分镇静,这真是奇奥而有代价的产物。”

  配合的撑持成绩

  到如今为止,有关文件上载的撑持成绩次要是与平安有关的。一般网站都太过当心地回护NTFS允许,它能够避免匿名用户帐号向文件目标地点中举行写进。并且即便是初级服务器办理员也常常毛病了解平安的寄义。

  要记着,IIS/ASP在一个出格的平安情况下运转每一个ASP页。假如没有判别机制(没有Basic,没有NTChallenge/Response),每页都作为匿名用户实行。收集办理员能够设置与匿名用户响应的NT帐号。

  关于IIS3,默许的匿名用户是IUSR_<computername>。

  关于IIS4,一切运转中的收集使用程序的默许匿名用户都是IUSR_<computername>(“在独自的内存空间运转”不被检察)。一切运转之外的使用程序的默许匿名用户是IWAM_<computername>(“在独自的内存空间运转”被检察)。

  利用SA-FileUp时,必需包管得当的用户对目标路径有读、写、删除允许。

  假如判别功效发扬感化,在运转ASP页的过程当中IIS/ASP就将饰演已判别的用户。因而经判别用户的注册帐号对目标路径必需有读、写、删除允许。

  对IIS平安的深切会商已凌驾了本文的局限,theIIS4ResourceKit有很好的注释。

  一些代码

  实际已充足了,上面来看一些ASP代码。

  单个文件上载

  上面是单个文件上载的一个复杂的HTML格局。



  <HTML><HEAD>  <TITLE>PleaseUploadYourFile</TITLE>
  </HEAD><BODY>  <formenctype="multipart/form-data"method="post"action="formresp.asp">
  Enterfilenametoupload:<inputtype="file"name="f1">  <inputtype="submit"></form>  </BODY></HTML>
  上面是文件formresp.asp:

  <%@LANGUAGE="VBSCRIPT"%>
  <HTML><HEAD><TITLE>UploadFileResults</TITLE></HEAD>
  <BODY>Thankyouforuploadingyourfile.
  <%Setupl=Server.CreateObject("SoftArtisans.FileUp")%>
  <%upl.SaveAs"C:empupload.out"%>
  TotalBytesWritten:<%=upl.TotalBytes%>
  </BODY></HTML>

  有附加表单位素的文件上载

  增添附加表单位素十分复杂。只需准确指定ENCTYPE,它就象任何一般HTML文件一样运转。


  <HTML><HEAD><TITLE>PleaseUploadYourFile</TITLE>
  </HEAD><BODY>
  <formenctype="multipart/form-data"method="post"action="mformresp.asp">
  Enterdescription:<inputtype="text"name="descrip">  Enterfilenametoupload:<inputtype="file"name="f1">  <inputtype="submit"></form>
  </BODY></HTML>
  上面是文件mformresp.asp:


  <%@LANGUAGE="VBSCRIPT"%><HTML><HEAD><TITLE>Upload
  FileResul</p>SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。

仓酷云 发表于 2015-1-22 06:08:37

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

小女巫 发表于 2015-1-25 21:11:06

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

若相依 发表于 2015-2-4 01:42:49

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

精灵巫婆 发表于 2015-2-9 09:24:28

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

再现理想 发表于 2015-2-27 05:10:19

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

蒙在股里 发表于 2015-3-8 21:52:12

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

深爱那片海 发表于 2015-3-16 14:42:50

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

柔情似水 发表于 2015-3-22 23:16:38

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
页: [1]
查看完整版本: ASP编程:深切研讨“用ASP上载文件”(转)(二)