分享
 
 
 

温故知新:几个经典的ASP应用

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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"

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 = "\serversharefile.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 "\serversharefile.mdb"

Set RS = Conn.Execute(SQL)

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

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

Set UM = CreateObject("UserManager.Server")

UM.LogonUser "帐号", "口令", "域"

...

open database

...

UM.RevertToSelf

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有