• 下载附件代码


      Response.Clear();
                    Response.ClearContent();
                    Response.ClearHeaders();
                    Response.ContentType = "application/octet-stream ; Charset=UTF8";
                    Response.CacheControl = "public";
                   
                    string realFileName = fileName.IndexOf('_') > 0 ? fileName.Remove(0, fileName.IndexOf('_') + 1) : fileName;
                    Response.AddHeader("Content-Disposition", "attachment;filename=\"" + HttpUtility.UrlEncode(realFileName, System.Text.Encoding.GetEncoding("UTF-8")) + "\"");
                    Response.AddHeader("Content-Length", fileSize.ToString());
                    Response.AddHeader("Content-Transfer-Encoding", "binary");
                    Response.Filter.Close();

     #region
                   // int everySize =Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["EverySize"].ToString()); //每次读取配置文件中分块下载的大小
                   // byte[] buffers=new byte[everySize];
                   //// System.IO.FileStream istream = System.IO.File.OpenRead(fileInfo.FullName);
                   // using (System.IO.FileStream istream = new FileStream(fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.Read))
                   // {
                   //     long dataLenghtRead = istream.Length;
                   //     while (dataLenghtRead > 0 && Response.IsClientConnected)
                   //     {
                   //         int readLength = istream.Read(buffers, 0, everySize);
                   //         Response.OutputStream.Write(buffers, 0, readLength);
                   //         Response.Flush();
                   //         dataLenghtRead = dataLenghtRead - readLength;
                   //     }
                   // }
                   /////Response.WriteFile(fileInfo.FullName);
                   //istream.Close();
                   //istream.Dispose();
                    #endregion

  • 相关阅读:
    main函数的一些特性
    确保函数的操作不超出数组实参的边界
    今天学习了一点sed
    libevent 与事件驱动
    mvc3 action验证失败后的自定义处理
    使用spring.net+nibernate时如何用aspnet_regiis加密数据库连接字符串
    C# 中 IList IEnumable 转换成 List类型
    Nhibernate 过长的字符串报错 dehydration property
    小论接口(interface)和抽象类(abstract class)的区别
    C# 语言在函数参数列表中出现this关键词的作用
  • 原文地址:https://www.cnblogs.com/cxlings/p/2372794.html
Copyright © 2020-2023  润新知