| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1922 人关注过本帖, 1 人收藏
标题:[原创]几个经典的ASP应用!
只看楼主 加入收藏
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏(1)
 问题点数:0 回复次数:17 
[原创]几个经典的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*******************************************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"

搜索更多相关主题的帖子: ASP 经典 应用 
2004-06-13 16:20
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 

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页面内容,加入下面的代码:


最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-13 16:20
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 
<% 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


最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-13 16:21
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 

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

[此贴子已经被作者于2004-06-13 16:22:26编辑过]


最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-13 16:21
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 
哈哈,记得要顶哦~~

最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-13 16:22
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 

来了

但是不顶


http://www. 版主位置空缺
2004-06-13 16:40
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 

能够来捧场就很不错啦~~

哈哈……


最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-13 16:53
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 
不错,支持

天津网站建设 http://www./
2004-06-13 18:46
好学
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:622
专家分:318
注 册:2004-5-4
收藏
得分:0 
<% Response.CacheControl = "Public" %>
代理服务器是什么?是虚拟主机吗
2004-06-13 19:16
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 

设置其属性为 Public 时, 代理服务器可以缓冲由 ASP 产生的输出

使用 Response.Buffer 可以避免 Web 服务器在脚本修改 HTTP 标题之前将其返回


最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-14 13:08
快速回复:[原创]几个经典的ASP应用!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022994 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved