几个经典的ASP应用 1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型。
<%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,"