ASP网页设计ASP使用FSO及Stream办法完成IE间接下载...
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的fso|stream|下载在IE举行文档链接时,假如碰到OLE撑持的文档,IE会主动挪用响应程序翻开它,偶然候这类功效并非我们所需的,固然我们能够提示用户用鼠标右键-->"方针另存为...."命令来下载文档,但如许究竟不太友爱,本文形貌了使用FSO及Stream办法完成IE间接下载文档.<%@language=vbscriptcodepage=65001%>
<%
Filenamemustbeinput
ifRequest("Filename")=""then
response.write"<h1>Error:</h1>Filenameisempty!<p>"
else
calldownloadFile(replace(replace(Request("Filename"),"",""),"/",""))
FunctiondownloadFile(strFile)
makesureyouareonthelatestMDACversionforthistowork
getfullpathofspecifiedfile
strFilename=server.MapPath(strFile)
clearthebuffer
Response.Buffer=True
Response.Clear
createstream
Sets=Server.CreateObject("ADODB.Stream")
s.Open
Setasbinary
s.Type=1
loadinthefile
onerrorresumenext
checkthefileexists
Setfso=Server.CreateObject("Scripting.FileSystemObject")
ifnotfso.FileExists(strFilename)then
Response.Write("<h1>Error:</h1>"&strFilename&"doesnotexists!<p>")
Response.End
endif
getlengthoffile
Setf=fso.GetFile(strFilename)
intFilelength=f.size
s.LoadFromFile(strFilename)
iferrthen
Response.Write("<h1>Error:</h1>UnknownError!<p>")
Response.End
endif
sendtheheaderstotheusersBrowse
Response.AddHeader"Content-Disposition","attachment;filename="&f.name
Response.AddHeader"Content-Length",intFilelength
Response.CharSet="UTF-8"
Response.ContentType="application/octet-stream"
outputthefiletothebrowser
Response.BinaryWrites.Read
Response.Flush
tidyup
s.Close
Sets=Nothing
EndFunction
endif
%>
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 不能只是将它停留在纸上谈兵的程度上。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
页:
[1]