几个经典的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

(0)

相关推荐

  • 几个经典的ASP应用

    1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型. <form> <Input Name="ImageMap" Type="Image" Src="ImageMap.jpg" Alt="Click Anywhere"> </form> <%ImageMap.x = <%=Request("Image

  • asp,asp.net学习教程下载

    XML与ASP网站实作大全 ASP经典百例 ASP.NET 1.1专业开发 ASP.NET完全手册 ASP.NET 技术参考 ASP.netdatabase开发圣经 ASP数据库系统开发实例导航 怎样用ASP和COM进行Web编程 Asp.Net技术文档 ASP Net密技集錦(C#) 即时应用ASP脚本第二版 简单易学的ASP教程 ASP开发中的错误信息中文说明大全 10天学会ASP ASP中文使用手册 ASP.NET服务器控件高程 ASP.NET 实用全书 ASP 3.0高级编程 ASP.N

  • 学习ASP的理由 分析小结

    在Google上搜一下,可以发现一大堆对ASP不好的评价,什么运行速度慢.异常处理机制不好.缺乏面向对象机制.开发效率低.漏洞多等等.为了让大家对ASP有个正确的认识,我先为它正名. 一.ASP不慢,慢的是数据库 几年前,我用动网论坛程序架了一个BBS,这套程序就是当时经典的ASP+Access架构.我也遇到了某些人所说的论坛慢,有时候卡死不动的问题.然而,自从我换上SQL Server数据库以后问题就解决了.所以罪魁祸首乃Access.程序执行所需的时间是毫秒级别的,在这个级别内,无论是10毫

  • ASP经典分页类

    ASP经典分页类  出处 '===================================================================== 'XDOWNPAGE   ASP版本 '版本   1.00 'Code by  zykj2000 'Email:   zykj_2000@163.net 'BBS:   http://bbs.513soft.net '本程序可以免费使用.修改,希望我的程序能为您的工作带来方便 '但请保留以上请息 ' '程序特点 '本程序主要是对数

  • asp控制xml数据库的经典代码

    NO.1--建立一个XML数据库data.xml <?xml version="1.0"?> <records> <record> <name>caca</name> <qq>154222225</qq> <email>root@3ney.com</email> </record> <records> NO.2--建立对象CreateObject 建立da

  • ASP.NET:一段比较经典的多线程学习代码

    一段比较经典的多线程学习代码. 1.用到了多线程的同步问题. 2.用到了多线程的顺序问题. 如果有兴趣的请仔细阅读下面的代码.注意其中代码段的顺序,思考一下,这些代码的顺序能否互相调换,为什么?这应该对学习很有帮助的.为了演示,让所有的线程都Sleep了一段时间. using System.Net;using System;using System.IO;using System.Text;using System.Threading;using System.Diagnostics; name

  • 一款经典的ajax登录页面 后台asp.net

    下面实现一个经典的登录页面,有保存密码功能,页面上所有的控件都是html控件,没有服务器控件 1,新建一名为login.htm的静态网页文件,作为登录页面,如图 body标签代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 复制代码 代码如下: <body onkeydown ="enterLogin()"> &

  • ASP.NET图片处理三类经典问题

    我们在做web程序的时候经常会遇到一些图片处理的问题,今天就把遇到的需要图片处理的地方给总结一下.也算是对自己学习过程的一个总结,希望也能给大家一些启发. 一.验证码. 我们在某些网站注册或者登录的时候,都可能遇到要填写验证码的地方,当时没搞懂这样的图片是怎样一回事,事实上这是一张随机生成的图片,需要在后台专门新建一个aspx页或者ashx一般程序处理页来专门负责生成这样的图片.下面就通过示例向大家演示这样的一个过程! 首先我们新建一个登录页,模拟用户登录.代码如下: <div> <ta

  • asp经典入门教程 在ASP中使用SQL 语句第1/2页

    MySQL.SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句.不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL. 1. SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作:SELECT whatFROM whichTableWHERE criteria 执行以上

  • asp.net下经典数据库记录分页代码

    1.       SELECT TOP PAGESIZE NEWSTITLE FORM NEWSINFO WHERE NEWSID NOT IN (SELECT TOP (PAGE-1)* PAGESIZE NEWSID FROM NEWSINFO WHERE Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC) AND Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC 其中:PAGE表

随机推荐