zoukankan      html  css  js  c++  java
  • 文件下载

    界面 <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;
    }
    }
    }
    }

  • 相关阅读:
    HDU 4492 Mystery (水题)
    UVA 10480 Sabotage (最大流)
    POJ 2446 Chessboard (二分匹配)
    VS2008下用MFC 的MSComm控件编写串口程序
    退役了~~~
    STL Algorithms 之 unique
    cocos2d中CCCallFuncND传参数的注意事项
    好太太晾衣架市场价格表(仅供参考)
    Linux VNC黑屏(转)
    C++ TinyXml操作(含源码下载)
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/5853830.html
Copyright © 2011-2022 走看看