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
相关文档:
对于asp.net,默认只允许上传2M文件,增加如下配置,一般可以自定义最大文件大小.
<httpRuntime executionTimeout="300" maxRequestLength="40960" useFullyQualifiedRedirectUrl="false"/>
我们在上传大文件时都遇到过这样或那样的问题。设置很大的maxRequestLength值并不能完 ......
Default.aspx CS文件代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _De ......
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="LeftMenu.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xht ......
一、如何:使用 ASP.NET 语法将服务器控件添加到 ASP.NET 网页
可以通过在 .aspx 文件中直接声明 Web 服务器控件将它添加到页中。
以声明方式添加控件
A、如果您位于可视化设计器中,请切换到源编辑视图。
B、将表示该控件的元素键入 .aspx 文件。您使用的具体语法取决于要添加的控件, ......
六、ASP.NET Web 服务器控件中的 Tab 键顺序、焦点和访问键
若要增强在 ASP.NET 网页中使用控件的用户体验,可以指定用户通过按 Tab 键显示 ASP.NET Web 服务器控件的顺序,并可以指定最初打开页时页上的哪个控件具有焦点。
1、Tab 键顺序
当在浏览器中显示页时,用户可以使用 ......