Mr_WTX 2022-03-03 15:08 采纳率: 33.3%
浏览 22
已结题

C# wpf下载问题,有没有解答一下。C# wpf有这么坑嘛?

使用httpwebrequest下载视频文件速度慢,无法打开播放。以及webclient下载速度慢,会中断致使文件下载不完整。
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                        //byte[] byteArr = webClient.DownloadData(url);
                        //string contentEncoding = webClient.ResponseHeaders["Content-Encoding"];
                        if (response.ContentEncoding == "gzip")
                        {
                            //Stream stream = new MemoryStream(byteArr);
                            Stream stream = response.GetResponseStream();
                            using (Stream zipStream = new GZipStream(stream, CompressionMode.Decompress))
                            {
                                using (Stream fileStream = new FileStream(address, FileMode.Create))
                                {
                                    byte[] read = new byte[1024];
                                    int readlen = zipStream.Read(read, 0, read.Length);
                                    while (readlen > 0)
                                    {
                                        fileStream.Write(read, 0, read.Length);
                                        readlen = zipStream.Read(read, 0, read.Length);
                                    }
                                    //fileStream.Close();
                                    //zipStream.Close();
                                    //stream.Close();
                                }
                            }
                            stream.Close();
                        }
                        else
                        {
                            webClient.DownloadFile(new Uri(url), address);
                            //Stream stream = new MemoryStream(byteArr);
                            //Stream stream = response.GetResponseStream();
                            //stream.ReadTimeout = -1;
                            //using (FileStream fileStream = new FileStream(address, FileMode.Create))
                            //{
                            //    byte[] read = new byte[1024];
                            //    int readlen = stream.Read(read, 0, read.Length);
                            //    while (readlen > 0)
                            //    {
                            //        fileStream.Write(read, 0, read.Length);
                            //        readlen = stream.Read(read, 0, read.Length);
                            //    }
                            //    //fileStream.Close();
                            //}
                            //stream.Close();
                        }

使用webclient下载视频文件出现速度慢,下载视频文件不完整的问题。突然结束中断。使用httpwebrequest下载的视频打不开,虽然下载的视频文件不是完整的。(webclient下载的不完整但是可以播放)
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • Mr_WTX 2022-03-07 11:36
    关注

    已解决。代码错误。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 创建了问题 3月3日

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用