下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x
y坐标
注意input控件的类型是image类型
<form>
<Input Name=ImageMap Type=Image Src=ImageMapjpg Alt=Click Anywhere>
</form>
<%ImageMapx = <%=Request(ImageMapx)
ImageMapy = <%=Request(ImageMapy)%>
利用ADODBStream对象在IE浏览器中下载服务端上的各类文件
即直接提示用户下载而不是由浏览器打开某些文件注意下面的代码拷贝到ASP文件中后不要再添加一些非ASP代码在页面中如HTML和Javascript客户端的代码<%
ResponseBuffer = True
Dim strFilePath strFileSize strFileName
Const adTypeBinary =
strFilePath = 文件路径
strFileSize = 文件大小可选
strFileName = 文件名
ResponseClear
*******************************************
需要在你的服务器上安装 MDAC 或MDAC
*******************************************
Set objStream = ServerCreateObject(ADODBStream)
objStreamOpen
objStreamType = adTypeBinary
objStreamLoadFromFile strFilePath
strFileType = lcase(Right(strFileName )) 文件扩展名
通过文件扩展名判断 ContentTypes
Select Case strFileType
Case asf
ContentType = video/xmsasf
Case avi
ContentType = video/avi
Case doc
ContentType = application/msword
Case zip
ContentType = application/zip
Case xls
ContentType = application/vndmsexcel
Case gif
ContentType = image/gif
Case
jpg
jpeg
ContentType = image/jpeg
Case wav
ContentType = audio/wav
Case mp
ContentType = audio/mpeg
Case mpg mpeg
ContentType = video/mpeg
Case rtf
ContentType = application/rtf
Case html
ContentType = text/html
Case asp
ContentType = text/asp
Case Else
Handle All Other Files
ContentType = application/octetstream
End Select
ResponseAddHeader ContentDisposition attachment; filename= strFileName
ResponseAddHeader ContentLength strFileSize
ResponseCharset = UTF 客户端浏览器的字符集UTF
ResponseContentType = ContentType
ResponseBinaryWrite objStreamRead
ResponseFlush
objStreamClose
Set objStream = Nothing
%>
提升ASP页面的响应速率
在你的ASP页面的第一行加入
<% ENABLESESSIONSTATE = False %>
这会关闭session对象提升你的服务器响应速率比较常见的问题是一个html页面包含了两个框架
页面(至少有一个是ASP页面并使用了session)这将使得必须等待某一个框架页(当然这个框
架页中使用了session)加载完后另一个框架页面才会显示
如果你使用代理访问 默认情况下许多代理服务器不会动态缓存ASP页面内容加入下面的代码<%
ResponseCacheControl = Public
%>
这行代码会将ASP页面缓存在代理服务器上从而加快客户端请求动态页面的响应速率一些不经常变化的ASP页面将直接从代理服务器上取得
要知道浏览器(IE为例)不会解析回车和换行字符如果你用Responsewrite方法写一行包含了回车和换行字符的字符串到动态页面中其结果可想而知你需要做的是<%
ResponseWrite(Replace(body vbCrLf<br>))
%>
用<br>来代替回车和换行注意如果回车和换行字符出现在form中的input/textarea等控件中可以不必这么做
用ASP代码写IIS日志 <%
ResponseAppendToLog 数据库正在被访问
%>
执行这段代码后在你的IIS日志中可能会出现下面的字符串
// :: WSVCWEBSERVER
get /somefileasp 数据库正在被访问
注意由于日志文件中的内容是按逗号分隔所以写入的日志内容应避免使用逗号
如何访问远程计算机上MDB数据库文件
如果你用ODBC连接(DSN方式或其它方式)到远程计算机的MDB文件这将产生一个错误
Microsoft OLE DB Provider for ODBC Drivers error
大致意思是该文件可能被其他用户访问或无足够的权限访问
下面有两种方式避免这个错误
方式a 使用DAO引擎访问Dim File Conn RS
Const ReadOnly = False
File = \\server\share\filemdb
Set Conn = CreateObject(DAODBEngine)Workspaces()OpenDatabase(FileReadOnly)
Set RS = ConnOpenRecordset(SQL)
方式b ADO + Jet OLE DB provider方式
Dim Conn RS
Set Conn = CreateObject(ADODBConnection)
ConnProvider = MicrosoftJetOLEDB
ConnOpen \\server\share\filemdb
Set RS = ConnExecute(SQL)
确定在运行ASP页面时有足够的访问权限以访问远程计算机上的MDB文件在访问MDB文件前需要先
登录到远程计算机添加下面的代码Set UM = CreateObject(UserManagerServer)
UMLogonUser 帐号 口令 域
open database
UMRevertToSelf