FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2260|回复: 3
打印 上一主题 下一主题

输出文件流 出现乱码错误,有人能看看不?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-1-15 16:14:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  我的代码:
string zipFileName = DateTime.Now.Ticks.ToString() + ".zip";
                var FileNames = RowsAreSelected(Grid1, "FileNames", 0);
                string[] FileArr = FileNames.Split(',');
                List<string> files = new List<string>();
                for (int i = 0; i < FileArr.Length; i++)
                {
                    files.Add(FileArr[i].Substring(1, FileArr[i].Length - 2));
                }
                using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile(Encoding.UTF8))//解决中文乱码问题
                {
                    foreach (var item in files)
                    {
                        zip.AddFile(Server.MapPath(string.Format("~/download/jcxxcj/{0}", item)), "");
                    }
                    zip.Save(Server.MapPath("~/download/jcxxcjzip/" + zipFileName));
                    Response.Clear();
                    Response.ContentType = "application/octet-stream";
                    Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(zipFileName, System.Text.Encoding.UTF8));
                    FileStream fs = File.OpenRead(Server.MapPath("~/download/jcxxcjzip/" + zipFileName));
                    //定义缓冲区大小
                    byte[] buffer = new byte[10240000];
                    //第一次读取
                    int i = 0;
                    double filelength = fs.Length;
                    while (filelength > 0)
                    {
                        i = fs.Read(buffer, 0, buffer.Length);
                        Response.OutputStream.Write(buffer, 0, i);
                        filelength = filelength - i;
                    }
                    //关闭磁盘文件流
                    fs.Close();
                    //关闭输出流
                    Response.End();
                }
            }
错误截图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2014-1-15 18:50:51 | 只看该作者
参考示例:http://fineui.com/demo/#/demo/grid/grid_excel.aspx

需要设置导出按钮的 EnableAjax="false" DisableControlBeforePostBack="false"
板凳
 楼主| 发表于 2014-1-16 09:59:37 | 只看该作者
谢谢三石 解决了~! 看来是ajax提交不能下载文件嘛~
地板
发表于 2014-1-17 16:17:40 | 只看该作者
能把大包下载的code分享下不?正好需要~谢谢~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-27 08:24 , Processed in 0.044752 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表