• 文件下载


    界面 <a href="/Handler/FileDownLoadHandler.ashx?filePath=~ emplateclientTemplate.xlsx" target="content">模板下载</a>

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Web;
    using System.Web.SessionState;

    namespace Web.Handler
    {
    /// <summary>
    /// FileDownLoadHandler 的摘要说明
    /// </summary>
    public class FileDownLoadHandler : IHttpHandler, IRequiresSessionState
    {
    //目前只支持 excel 下载,后续可增加参数进行判断,以增加多种文件下载
    public void ProcessRequest(HttpContext context)
    {
    if(context.Request.QueryString["filePath"]!=null)
    {
    string excelFile = HttpContext.Current.Server.MapPath(HttpContext.Current.Server.UrlDecode(context.Request.QueryString["filePath"].Trim()));
    try {
    FileInfo fi = new FileInfo(excelFile);//excelFile为文件在服务器上的地址
    HttpResponse contextResponse = HttpContext.Current.Response;
    contextResponse.Clear();
    contextResponse.Buffer = true;
    contextResponse.Charset = "UTF-8"; //设置了类型为中文防止乱码的出现
    contextResponse.AppendHeader("Content-Disposition", String.Format("attachment;filename={0}", DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx")); //定义输出文件和文件名
    contextResponse.AppendHeader("Content-Length", fi.Length.ToString());
    contextResponse.ContentEncoding = Encoding.Default;
    contextResponse.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。

    contextResponse.WriteFile(fi.FullName);
    contextResponse.Flush();
    contextResponse.End();
    }
    catch (Exception ee) {
    Log.Log4NetUtility.Error(this, ee.Message);
    }
    }
    }

    public bool IsReusable
    {
    get
    {
    return false;
    }
    }
    }
    }

  • 相关阅读:
    XP显示桌面
    批量改名
    poj 3126 BFS
    poj 3278 BFS
    poj 1426 BFS
    准备打酱油…
    POJ 2243 BFS 和 简单的调试方法学习
    K
    EXCEL fundamentals
    poj 1011 DFS+剪枝
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/5853830.html
Copyright © 2020-2023  润新知