asp是什么文件

asp是什么文件,第1张

ActiveServerPages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。使用ASP可以组合HTML页、VBScript脚本命令和JavaScript脚本命令等,以创建交互的Web页和基于Web的功能强大的应用程序。

由于脚本程序是在服务器上而不是在客户端运行,传送到浏览器上的Web页是在Web服务器上生成的。所以不必担心浏览器能否处理脚本:Web服务器已经完成了所有脚本的处理,并将标准的HTML页面传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。

在我们的系统的编写过程中 应该有很多的时候需要客户下载文件 我第一次的做法(应该也是大部分人的做法吧?)是:

   HttpResponse response = HttpContext Current Response   string js = <script language=javascript>window open( { } )</script>   js = string Format(js url)   response Write(js)

但是有个问题了 就是会被广告拦截软件直接拦截掉 另我非常的头痛 于是寻找更好的解决方法 看了用Response BinaryWrite写文件流一文之后觉得确实可以如此 修改代码如下:

   /**//**//**//// <summary>   /**//// 下载文件    /**//// </summary>   /**//// <param name= filename >文件物理地址</param>      protected void DownloadFile(string filename)    {    string saveFileName = test xls    int intStart = filename LastIndexOf( \ )+    saveFileName = filename Substring(intStart filename Length intStart)   FileStream MyFileStream   long FileSize      MyFileStream = new FileStream(filename FileMode Open)   FileSize = MyFileStream Length      byte[] Buffer = new byte[(int)FileSize]   MyFileStream Read(Buffer (int)FileSize)   MyFileStream Close()      Response AddHeader( Content Disposition attachmentfilename= +saveFileName)   Response ContentEncoding = System Text Encoding GetEncoding( GB )   Response ContentType = application/vnd ms excel       Response BinaryWrite(Buffer)   Response Flush()   Response Close()   Response End()      }

但是有个严重的问题 就是文件格式 这样只是将流输出 且无法正确识别格式 还好 能人层出不穷 柚子Nan 提出了能否不考虑文件的类型 直接把文件显示到浏览器(Response) 的想法正好切中我的要害所在 于是急忙研究了柚子Nan的想法 修改出最后代码

   /**//**//**//// <summary>   /**//// 下载文件    /**//// </summary>   /**//// <param name= filename >文件物理地址</param>   protected void DownloadFile(string filename)    {    string saveFileName = test xls    int intStart = filename LastIndexOf( \ )+    saveFileName = filename Substring(intStart filename Length intStart)      Response Clear()   Response Charset = utf    Response Buffer= true   this EnableViewState = false   Response ContentEncoding = System Text Encoding UTF       Response AppendHeader( Content Disposition attachmentfilename= + saveFileName)   Response WriteFile(filename)   Response Flush()   Response Close()      Response End()   }

使用昨天直接保存文件到客户端 中的方法 经过我的反复测试 各式文档都运行完全正常 于是昨晚修改了现有代码 修改了下载方法 以解决一直困扰自己的窗口拦截问题      早上本来还沾沾自喜 这下再也不用老跟客户解释为什么窗口会没掉了 可惜啊 人算不如天算      早上客户就反映下载的文件全是乱码 立马在本机进行测试 没问题 再同事的机器上试验 同样没问题      那应该是客户端的问题才是 只好让客户NetMeeting演示一下她的 *** 作过程 下载 〉保存 〉打开 这么简单的流程 不会做错吧?      正在郁闷之际 突然脑光一闪 终于发现不一样的地方 立马试验 果然如此!      到底有什么区别呢?请看 *** 作图:   客人 *** 作图   我的 *** 作图   各位应该看出不同之处了吧?还看不出来?   这件事情的罪魁祸首就是:            解决方法:使用lovecherry 的如何从注册表读取文件的ContentType 一文的方法

  修正代码:    /**//// <summary>   /// 下载文件    /// </summary>   /// <param name= filename >文件物理地址</param>   protected void DownloadFile(string filename)    {       string saveFileName = test xls    int intStart = filename LastIndexOf( \\ )+    saveFileName = filename Substring(intStart filename Length intStart)      System IO FileInfo fi=new System IO FileInfo(filename)   string fileextname=fi Extension   string DEFAULT_CONTENT_TYPE = application/unknown    RegistryKey regkey fileextkey   string filecontenttype   try    {    regkey=Registry ClassesRoot   fileextkey=regkey OpenSubKey(fileextname)   filecontenttype=fileextkey GetValue( Content Type DEFAULT_CONTENT_TYPE) ToString()   }    catch    {    filecontenttype=DEFAULT_CONTENT_TYPE   }          Response Clear()   Response Charset = utf    Response Buffer= true   this EnableViewState = false   Response ContentEncoding = System Text Encoding UTF       Response AppendHeader( Content Disposition attachmentfilename= + saveFileName)   Response ContentType=filecontenttype      Response WriteFile(filename)   Response Flush()   Response Close()      Response End()   }   最后得出结论:要实现柚子Nan提出的能否不考虑文件的类型 直接把文件显示到浏览器(Response) 有一种方法 让客户端都不要隐藏已知的扩展名 但是这种方法是无法适应大部分电脑使用者的(一般只有比较熟悉电脑的人才会这样做吧?)

bbs 看中的方法 还没有试用 不知道有没有作用

lishixinzhi/Article/program/net/201311/11936

唉.看你这些都不懂...我教你吧

ASP也是一种程序语言来的,如果要想让你的电脑能支持ASP,也就是能像打开网页一样打开ASP文件,那你的电脑就一定要装IIS,就像你访问的网站服务器一样,都是装了IIS,这些网站才能访问,这些网页也才打得开的.ASP不同于HTML,HTML只是静态的页,没有数据交换的..

首先,你要看你的电脑是什么系统,就放入原装(不要GHOST版)版的系统盘,比如XP,就是干净版吧...放到光驱内,再打开控制面板,添加删除程序,添加计算机组件,,,再在d出来的框框内,将有个IIS的那条,(应该是第二条)前面那个框框点一下打上勾,再点确定,那电脑就会装上IIS...

当你装上IIS后,你还得给它一个虚拟目录...你也可以将你的ASP文件放到C盘的Inetpub---wwwroot的文件夹下面,然后打开浏览器,在地址栏里打上:http://localhost/就可以访问你的ASP文件了..

如果你还有什么不明白,可以用百度HI我...我尽我所能会帮助你的.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11473294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存