C# CefSharp MemoryStreamResponseFilter这个类使用过程中遇到的bug,dataIn.CopyTo(dataOut)异常

时间:2022-08-30 23:10:27

使用这个类,可以获取请求的所有数据,可用来下载网站的图片、js等

cef给出的源码

C# CefSharp MemoryStreamResponseFilter这个类使用过程中遇到的bug,dataIn.CopyTo(dataOut)异常

dataIn.CopyTo(dataOut);这句代码,有时候会有问题。问题是这个:dataIn.length 会大于 dataOut.length,这样的话,这里就会报错,原因还没找到。

 

下面为测试该bug的截图:

C# CefSharp MemoryStreamResponseFilter这个类使用过程中遇到的bug,dataIn.CopyTo(dataOut)异常

这个是测试页面,仅仅几张大小不同的图片。

 

 

C# CefSharp MemoryStreamResponseFilter这个类使用过程中遇到的bug,dataIn.CopyTo(dataOut)异常

测试的WinFormApp,会有两张图片没有加载出来。

 

WinFormApp主要就改了两句代码,如图:

C# CefSharp MemoryStreamResponseFilter这个类使用过程中遇到的bug,dataIn.CopyTo(dataOut)异常

 

 

C# CefSharp MemoryStreamResponseFilter这个类使用过程中遇到的bug,dataIn.CopyTo(dataOut)异常

 下载第一张图片没有问题,dataIn的长度和 等于 文件的字节大小

 

 

C# CefSharp MemoryStreamResponseFilter这个类使用过程中遇到的bug,dataIn.CopyTo(dataOut)异常

下载的第4张图片就出现问题了,最后一个 输入流的长度 大于了 输出流的长度,dataIn.CopyTo(dataOut);这里就会报异常,超出流长度之类的。

目前没找到该解决方案,不知道是什么原因,正在研究源码中。。。