转载 ASP.NET下载文件代码
如何通过ASP.NET来下载文件,这个问题我们经常遇到,把常用的方法总结到一起,学习学习。当我们要让用户下载一个文件,最简单的方式是通过Response.Redirect指令:
Response.Redirect("test.doc")
您可以把上面这行指令放在Button的Click事件当中,当用户点击按钮之后,网页就会被转址到该word档,造成下载的效果。
但是这样的下载有几个问题:
1、无法下载不存在的文件:例如,我们若是想把程序动态(临时)产生的文字,当作一个文件下载的时候(也就是该文件其实原先并不是真的存在,而是动态产生的),就无法下载。
2、无法下载存储于数据库中的文件:这是类似的问题,该文件并没有真的存在,只是被存放在数据库中的某个位置(某笔记录中的某个栏位)的时候,就无法下载。
3、无法下载不存在于Web文件夹中的文件:文件确实存在,但该文件夹并不是可以分享出来的Web文件夹,例如,该文件的位置在C:\winnt,您总不会想要把该文件夹当作Web文件夹吧?这时候,由于您无法使用Redirect指向该位置,所以无法下载。
4、下载文件后,原本的页面将会消失。
典型的状况是,我们要让用户下载一个.txt文件或是.csv格式的Excel文件,但是...
1、这个文件可能是通过ASP.NET程序动态产生的,而不是确实存在于Server端的文件;
2、或是它虽然存在于伺服器端的某个实体位置,但我们并不想暴露这个位置(如果这个位置公开,很可能没有权限的用户也可以在网址栏上输入URL直接取得!!!)
3、或是这个位置并不在网站虚拟路径所在的文件夹中。(例如C:\Windows\System32...)
//TransmitFile实现下载
protected void Button1_Click(object sender, EventArgs e)
{
/*
微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite
下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。
代码如下:
*/
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=z.zip")
相关文档:
找到一遍讲解三层结构比较清楚易懂的文章,引用一下,留为学习。
三层式开发中的层次划分讨论
先举一个曾经在哪本书上看到的例子:现在你想在1米宽的小溪上建一座桥,你会在上面放块木板就完了。如果想在宽一点的小河上建这桥,你就需要计算木材用料,价格等,如果需要别人帮忙,你还要多一些图纸什么的让别人理解你的想 ......
上次做了个项目,涉及到数据库的还原和恢复,到网上找了一下,是利用SQLDMO实现的,只要添加SQLDMO引用就好了,然后利用下边的类的方法就可以实现了。
我把原作者的类扩充了一下,可以自动识别web.config里 的数据库连接字符串,可以通过变量设置还原恢复的信息。
需要注意的时还原,还原的时候问题最大了,有别 ......
http://files.cnblogs.com/chengulv/SoftRegion.rar
Microsoft .Net的应用程序的代码文件,与Java生成的文件类似,它们都没有本地代码,而是一种类似于汇编的代码。这样,只要有合适的工具,就可以完整的把别人写出来的程序反编译成自己需要的程序文件。
我所知道的.Net下的反汇编程序是Salamander 和 Refelector 两个工 ......
1. config结构
Framework\Config\Machine.config, 为所有config的根,特别只有它才能具有<processMode>节,该节修改后必须重启IIS方能生效,而其它节的改动,只要一保存,就有效了,这是IIS6的一大进步。
以下分别是从上往下的几个家族类(为继承关系,这种设计可以大 ......