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

    找到一个简单的文件下载代码,好好记下

    原网址:http://blog.csdn.net/littlehb/archive/2007/04/20/1572440.aspx

    1.普通下载:

            //下载文件的路径
            string path=Server.MapPath("广告.jpg");
            
    //下载文件的名称
            string filename = "广告.jpg";
            System.IO.FileInfo toDownload 
    = new System.IO.FileInfo(path);
            Response.Clear();
            
    if (System.IO.Path.GetExtension(filename) == ".jpg")
          
    {
                Response.AddHeader(
    "Content-Disposition""attachment;filename=NEW_" + HttpUtility.UrlEncode(toDownload.Name));
                Response.ContentType 
    = "application/x-zip-compressed";
                Response.TransmitFile(path);
                Response.End();
            }

    2.大文件分成小块下载:

            //下载文件的路径
            string path = Server.MapPath("广告.jpg");
            
    //下载文件的名称
            string filename = "广告.jpg";
            System.IO.FileInfo toDownload 
    = new System.IO.FileInfo(path);

            
    if (toDownload.Exists == true)
            
    {
                
    const long ChunkSize = 10000;
                
    byte[] buffer = new byte[ChunkSize];

                Response.Clear();
                System.IO.FileStream iStream 
    = System.IO.File.OpenRead(path);
                
    long dataLengthToRead = iStream.Length;
                Response.ContentType 
    = "application/octet-stream";
                Response.AddHeader(
    "Content-Disposition""attachment; filename=new_" + HttpUtility.UrlEncode(toDownload.Name));
                
    while (dataLengthToRead > 0 && Response.IsClientConnected)
               
    {
                    
    int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));
                    Response.OutputStream.Write(buffer, 
    0, lengthRead);
                    Response.Flush();
                    dataLengthToRead 
    = dataLengthToRead - lengthRead;
                }

                Response.Close();
            }
  • 相关阅读:
    C语言I博客作业05 sun
    C语言I博客作业08 sun
    C语言I博客作业02 sun
    C语言I博客作业04 sun
    elastix的web端口修改
    mysql.proc错误解决
    Client.Error.MessageSend 错误解决方案
    让secureCRT正确显示中文
    elastix的多个inbound route的设置
    PHP5.1时间相差8小时问题解决。
  • 原文地址:https://www.cnblogs.com/Anlycp/p/1285107.html
Copyright © 2011-2022 走看看