首页 新闻 会员 周边 捐助

httplistener C#

0
悬赏园豆:20 [已解决问题] 解决于 2018-10-16 16:03

使用 httplistener 做的服务器!
浏览器请求了下载的链接后,服务器已经开始给流写入数据了,但是浏览器显示等待服务器响应
直到服务器全部写完,浏览器才会下载(瞬间完成), 这是哪里出错了?整个过程没有下载进度条显示!

问题补充:

response.AddHeader("Content-Disposition", $"attachment;FileName={Path.GetFileName(requestSrcFilePath)}");//已经设置

MsgWinAdd() 是打印东西的

                int readCount = 0;
                int readAllCount = 0;
                string requestSrcFilePath = ServerKernel.Instance.SetResponse(request, response);
                MsgWinAdd("准备开始使用流进行发送");
                try {
                    using (FileStream fs = (File.OpenRead(requestSrcFilePath))) {
                        using (Stream rpStream = response.OutputStream) {
                            do {
                                readCount = fs.Read(buff, 0, buff.Length);
                                if (readCount == 0) {
                                    break;
                                }
                                MsgWinAdd("发送大小:" + readCount);
                                MsgWinAdd($"正在写入......({fs.Length/response.ContentLength64})");
                                rpStream.Write(buff, 0, readCount);
                                readAllCount += readCount;
                                rpStream.Flush();
                            } while (true);
                            response.Close();
                            MsgWinAdd($"写入完成(响应停止:{response.KeepAlive}),共:" + readAllCount);
                        }
                    }
                    MsgWinAdd("退出文件流");
                }
                catch (Exception ex) {
                    PrtException(ex);
                }
哎呦,豹豹大人的主页 哎呦,豹豹大人 | 初学一级 | 园豆:58
提问于:2018-09-27 16:14
< >
分享
最佳答案
0

试试发送 content-length 响应头

收获园豆:20
dudu | 高人七级 |园豆:29568 | 2018-09-27 16:52

发送了,是要求发送的文件的大小!
你可以看一下我的网址 第二个是一个3m的东西 问题比较明显
10s左右不反应 然后会瞬间完成!

哎呦,豹豹大人 | 园豆:58 (初学一级) | 2018-09-27 17:02

response.ContentLength64 是这个嘛?

哎呦,豹豹大人 | 园豆:58 (初学一级) | 2018-09-27 17:07

@哎呦,豹豹大人: 我在 Chrome 中测试下载 Game.zip 正常

dudu | 园豆:29568 (高人七级) | 2018-09-27 17:07

@dudu: 有下载过程的显示嘛?

哎呦,豹豹大人 | 园豆:58 (初学一级) | 2018-09-27 17:08

@哎呦,豹豹大人: 有

dudu | 园豆:29568 (高人七级) | 2018-09-27 17:26

@dudu: 为啥我这里了没有啊?我也下了

哎呦,豹豹大人 | 园豆:58 (初学一级) | 2018-09-27 17:30
其他回答(1)
0

自己浏览器的问题

哎呦,豹豹大人 | 园豆:58 (初学一级) | 2018-10-16 16:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册