我有一个Windows应用程序,可以获取URL和下载.jpeg文件.对于某些url,ContentLength属性为-1,因此抛出异常.
这是我的代码:
var url = new Uri(sUrlToReadFileFrom[i]);
_request = (HttpWebRequest)WebRequest.Create(url);
var response = (System.Net.WebResponse)_request.GetResponse();
_response = response;
_response.Close();
Run Code Online (Sandbox Code Playgroud)
这是网址:http: //photos.autonexus.com/imager/115-005-CA/P2GTPI4AB9/640/10132013133959/1FAHP0HA3AR373228_1.jpg 这里有一些关于我的http请求的信息:
Headers = {Transfer-Encoding: chunked
Connection: keep-alive
Content-Disposition: inline; filename="phpThumb_generated_thumbnail.jpeg"
Content-Type: image/jpeg
Date: Wed, 12 Nov 2014 00:31:29 GMT
Server: nginx
X-Powered-By: PleskLin}
Run Code Online (Sandbox Code Playgroud)
我认为分块头导致了问题,但我已经谷歌搜索了2天,没有好的解决方案,或者我找不到一个好的解决方案.
以下是错误的屏幕截图:

正如您在第130行中看到的那样,因为_response.ContentLength已经为-1,因此iSize将为-1并且它会在第149行抛出异常.