当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP实例:动态网页中常用的6个ASP程序

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP实例:动态网页中常用的6个ASP程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 43 ::
收藏到网摘: n/a

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


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

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

以下为引用的内容:
 <%
'--------------------------------------------
Response.Buffer = True
Dim strFilePath, strFileSize, strFileName
Const adTypeBinary = 1
strFilePath = "文件路径 "
strFileSize = ... 文件大小,可选
strFileName = "文件名"
Response.Clear
'8*******************************************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