注册 登录
编程论坛 ASP.NET技术论坛

asp.net为什么要手动写下载的代码??????

风风风风 发布于 2008-04-28 22:45, 687 次点击
看到网上有很多文章上写到实现下载,看着很麻烦的,但是我今天自己试了试,它完全可以用<a href=.....>下载</a>来实现,但是我相信网上的那些文章绝对是有原因的,要不不会有那么多类似文章的,哪位能告诉我其中的奥妙了。先谢谢了。
3 回复
#2
闫温学2008-04-29 08:55
我也想知道
#3
hebingbing2008-04-30 17:34
因为你的那句话不能完成一下功能:
1. 无法下载不存在的文件:例如,程序动态(临时)产生的文字,当作一个文件下载的时候(也就是该文件其实原先并不是真的存在,而是动态产生的),就无法下载。
2. 无法下载存储于数据库中的文件:这是类似的问题,该文件并没有真的存在,只是被存放在数据库中的某个位置(某笔记录中的某个栏位)的时候,就无法下载。
3. 无法下载不存在于Web文件夹中的文件:文件确实存在,但该文件夹并不是可以分享出来的Web文件夹,例如,该文件的位置在C:\winnt,您总不会想要把该文件夹当作Web文件夹吧?这时候,由于您无法使用Redirect指向该位置,所以无法下载。
4. 下载文件后,原本的页面将会消失。
  典型的状况是,我们要让用户下载一个.txt文件,或是.csv格式的Excel文件,但是...
1. 这个文件可能是通过程序动态产生的,而不是确实存在于Server端的文件;
2. 或是它虽然存在于伺服器端的某个实体位置,但我们并不想暴露这个位置(如果这个位置公开,很可能没有权限的用户也可以在网址栏上输入URL直接取得!!!)
3. 或是这个位置并不在网站虚拟路径所在的文件夹中。(例如C:\Windows\System32...)
 
#4
闫温学2008-04-30 18:24
多谢了
1