几个经典的ASP应用_应用技巧

1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型。 

 <form>
<Input Name="ImageMap" Type="Image" Src="ImageMap.jpg" Alt="Click Anywhere">
</form> 

<%ImageMap.x = <%=Request("ImageMap.x")
ImageMap.y = <%=Request("ImageMap.y")%> 

  2. 利用ADODB.Stream对象,在IE浏览器中下载服务端上的各类文件。 

  即直接提示用户下载而不是由浏览器打开某些文件。注意,下面的代码拷贝到ASP文件中后,不要再添加一些非ASP代码在页面中:如HTML和Javascript客户端的代码。

 <%
'--------------------------------------------
Response.Buffer = True
Dim strFilePath, strFileSize, strFileName
Const adTypeBinary = 1

strFilePath = "文件路径 "
strFileSize = ... 文件大小,可选
strFileName = "文件名"

Response.Clear

'*******************************************8
' 需要在你的服务器上安装 MDAC 2.6 或MDAC2.7
'8*******************************************8
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath

strFileType = lcase(Right(strFileName, 4)) '文件扩展名

' 通过文件扩展名判断 Content-Types
Select Case strFileType
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "../../image/gif"

Case ".jpg", "jpeg"
ContentType = "../../image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".asp"
ContentType = "text/asp"
Case Else
'Handle All Other Files
ContentType = "application/octet-stream"
End Select

Response.AddHeader "Content-Disposition", "attachment; filename= strFileName
Response.AddHeader "Content-Length", strFileSize
Response.Charset = "UTF-8" ' 客户端浏览器的字符集UTF-8
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush

objStream.Close
Set objStream = Nothing

%> 

  3.提升ASP页面的响应速率 

  在你的ASP页面的第一行加入:

 <% ENABLESESSIONSTATE = False %> 

 这会关闭session对象,提升你的服务器响应速率,比较常见的问题是一个html页面包含了两个框架页面(至少有一个是ASP页面,并使用了session),这将使得必须等待某一个框架页(当然这个框架页中使用了session)加载完后,另一个框架页面才会显示。

  如果你使用代理访问, 默认情况下,许多代理服务器不会动态缓存ASP页面内容,加入下面的代码:

 <%
     Response.CacheControl = "Public"
 %> 

  这行代码会将ASP页面缓存在代理服务器上,从而加快客户端请求动态页面的响应速率,一些不经常变化的ASP页面将直接从代理服务器上取得。 

  4. 要知道浏览器(IE为例)不会解析回车和换行字符,如果你用Response.write方法写一行包含了回车和换行字符的字符串到动态页面中,其结果可想而知,你需要做的是: 

 <%
      Response.Write(Replace(body, vbCrLf,"<br>"))
 %> 

  用<br>来代替回车和换行。注意:如果回车和换行字符出现在form中的input/textarea等控件中,可以不必这么做。

  5. 用ASP代码写IIS日志 

 <%
     Response.AppendToLog "数据库正在被访问"
 %> 

  执行这段代码后,在你的IIS日志中可能会出现下面的字符串:
127.0.0.1, -, 01/01/00, 12:00:34, W3SVC1,WEBSERVER, 
127.0.0.1, 161342, 485, 228, 200, 0, get, /somefile.asp, 数据库正在被访问 

  注意:由于日志文件中的内容是按逗号分隔,所以写入的日志内容应避免使用逗号。

  6. 如何访问远程计算机上MDB数据库文件 

  如果你用ODBC连接(DSN方式或其它方式)到远程计算机的MDB文件,这将产生一个错误:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
大致意思是该文件可能被其他用户访问或无足够的权限访问。 

  下面有两种方式,避免这个错误:

    方式a. 使用DAO引擎访问

   Dim File, Conn, RS
  Const ReadOnly = False 

  File = "\\server\share\file.mdb"
  Set Conn = CreateObject("DAO.DBEngine.35").Workspaces(0).OpenDatabase(File,,ReadOnly)
  Set RS = Conn.OpenRecordset(SQL) 

  方式b. ADO + Jet OLE DB provider方式

  Dim Conn, RS
  Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "\\server\share\file.mdb"
  Set RS = Conn.Execute(SQL) 

   确定在运行ASP页面时有足够的访问权限以访问远程计算机上的MDB文件,在访问MDB文件前需要先

  登录到远程计算机,添加下面的代码

     Set UM = CreateObject("UserManager.Server")
    UM.LogonUser "帐号", "口令", "域"
...
open database
...
    UM.RevertToSelf

时间: 2024-08-16 17:21:53

几个经典的ASP应用_应用技巧的相关文章

ASP 指南_应用技巧

简介 "Active Server Page (ASP)"应用程序的成功常常取决于对体系结构和设计这两方面的取舍.考虑到 ASP 技术的范围之广和当前应用程序固有的复杂性,这种取舍是非常困难的.本文中,我将为您提供一些特定的指导方针,以助您成功开发基于 ASP 的应用程序. 从过去成功的开发模式经验中,我们总结出以下原则. 我已将指导方针整理成一组开发原则.在评估解决方案和技术时,可以应用以下原则帮助您做出决策.以下原则是我长期以来从成功的开发模式所得的经验积累. 原则 1:采用标准方

适合所有网站的rss和xml聚合功能asp代码_应用技巧

rss.asp格式的 下面代码保存为rss.asp 复制代码 代码如下: <!--#include file="conn.asp"--> <% strURL = "http://" & request.servervariables("server_name") & _ left(request.servervariables("script_name"),len(request.server

为google量身定做的sitemap生成代码asp版_应用技巧

外面很多所谓sitemap生成代码都只生成目录文件地址,没生成动态的,我后来自己写了这个,是支持动态的,例子: 如你是文章网站,文章有2000条,那你修改下对应你的文章数据表,即可生成除了所有目录文件外,还生成你的动态2000条地址,绝对的没话说,生成速度非常快 把下面代码保存为sitemap.asp文件,修改我已注明的几个地方,其他的一概不要修改,好不好用过才知道. 复制代码 代码如下: <!--#include file="conn.asp"--> <% sess

把网页中的(电话,qq等数字)生成图片的ASP程序_应用技巧

作用:用ASP程序将页面中的电话号码生成图片格式. 复制代码 代码如下: <% Call Com_CreatValidCode(Request.QueryString("tel")) Public Sub Com_CreatValidCode(pTel) '----------禁止缓存 Response.Expires = 0 Response.AddHeader "Pragma","no-cache" Response.AddHeader

值得收藏的一些HTML、JavaScript、ASP代码_应用技巧

1. CDONTS.NewMail 组件使用说明   Set MailObject = Server.CreateObject("CDONTS.NewMail")   MailObject.From = "发信邮箱"   MailObject.To = "收信邮箱"   MailObject.Cc = "抄送邮箱"   MailObject.Bcc = "密送邮箱"   MailObject.Subject

手写个小组件(组件入门)asp版_应用技巧

动手写个小组件(组件入门) 这篇文章主要是为想将自己的ASP水平提高的人写的! 把ASP代码变成组件,开发者不仅是加快了ASP的速度,而且也能保护自己的代码.这篇文章写出来,也是为了给想开发组件网友上一堂入门课! 下面,我们会来编写一个非常简单的组件,重点是知道怎样开发DLL组件,而不是其复杂的代码!这些都要靠你们自己以后的努力了. 服务器端组件 首先,服务器端的组件要有别于客户端的组件.客户端的组件是通过网络传输,依靠HTML来起作用.而且只能在IE上有用.但是服务器端的组件是运行在服务器端,

什么是ASP?如何打开ASP文件_应用技巧

ASP是基于WEB的一种编程技术,可以说是CGI的一种.它可以完成以往CGI程序的所有功能,如计数器.留言簿.公告板.聊天室等等.ASP可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容.而浏览者一点觉察不出来,就像为他专门制作的页面一样.使用各种各样的组件,ASP可以完成无比强大的功能.使用FileSystemObject,可以对服务器上的文件进行操作,浏览.复制.移动.删除等.有ADO(Active Database Object,动态数据库对象)的支持,ASP对数据库

PerlScript编写ASP(转载)_应用技巧

Nighthawk注:  尽管这些年来Perl为广大编程爱好者所熟悉,但却对Perl存在一个令人尴尬的误解,以为Perl就是CGI,经常有人问我Perl和CGI,和PHP,和ASP比较如何如何,这是实在是件很遗憾的事情.这里特地贴出下面这篇文摘,也许能减少一些这方面的 误解.  本文将进一步讲述Perl在可嵌入技术的广域性,和PerlScript 在脚本技术领域的功用.以前的文章我说了ePerl.Embed Perl和Mod_Perl 技术,它们都是单独领域的技术,是在本身基础上的延伸.而本文将

在不刷新页面的情况下调用远程asp脚本_应用技巧

1.请在sql server 中建一数据库 name:house 在house中运行下列脚本 if exists (select * from sysobjects where id = object_id(N´[dbo].[City]´) and OBJECTPROPERTY(id, N´IsUserTable´) = 1) drop table [dbo].[City] GO if exists (select * from sysobjects where id = object_id(N