当前位置:编程学习 > C#/ASP.NET >>

多文件(无物理地址)下载 .NET

麻烦一下大神:我现在动态读了两个csv文件   我现在想做的是打包下载功能   有没有可以帮忙一下滴   十分感谢! .net 多文件下载 --------------------编程问答-------------------- 打包成zip输出到页面就行了呗 --------------------编程问答-------------------- 对滴呀   要求是zip得下下来  供用户解压 --------------------编程问答-------------------- Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=显示在客户端另存为对话框的文件名");
Response.OutputStream.Write(直接写压缩成zip文件的数据流); --------------------编程问答--------------------
引用 3 楼 caozhy 的回复:
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=显示在客户端另存为对话框的文件名");
Response.OutputStream.Write(直接写压缩成zip文件的数据流);




我没有文件名  就是将页面数据打包下载... --------------------编程问答-------------------- 文件名随便起个就行,只是供下载的时候显示用的。 --------------------编程问答--------------------
引用 5 楼 tcmakebest 的回复:
文件名随便起个就行,只是供下载的时候显示用的。


是滴   那个是通过文件名拿到文件滴   我是页面上的数据   没有物理地址   不是本地的文件! --------------------编程问答--------------------
引用 4 楼 appledaren 的回复:
Quote: 引用 3 楼 caozhy 的回复:

Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=显示在客户端另存为对话框的文件名");
Response.OutputStream.Write(直接写压缩成zip文件的数据流);




我没有文件名  就是将页面数据打包下载...


是啊,我说的就是这个意思啊。 --------------------编程问答--------------------
引用 7 楼 caozhy 的回复:
Quote: 引用 4 楼 appledaren 的回复:

Quote: 引用 3 楼 caozhy 的回复:

Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=显示在客户端另存为对话框的文件名");
Response.OutputStream.Write(直接写压缩成zip文件的数据流);




我没有文件名  就是将页面数据打包下载...


是啊,我说的就是这个意思啊。



我就是不知道怎么写成压缩流呀   哥哥    就得得不到流嘛~~文件没有物理地址 --------------------编程问答-------------------- 利用.net自带的压缩功能代码如下:

        public Stream Compress(Stream inStream)
        {
            MemoryStream outStream = new MemoryStream();
            try
            {
                GZipStream gzip = new GZipStream(outStream, CompressionMode.Compress);
                byte[] buffer = new byte[SIZE];
                int bytesRead;
                while ((bytesRead = inStream.Read(buffer, 0, SIZE)) > 0)
                {
                    gzip.Write(buffer, 0, bytesRead);
                }
                 
                gzip.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("Compress failed!", ex);
            }
            return new MemoryStream(outStream.ToArray());

        }

--------------------编程问答-------------------- 然后就
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=显示在客户端另存为对话框的文件名");
Response.OutputStream.Write(stream);
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,