我正在尝试在VS2008 .NET Framework 3.5中下载和存储图像文件,但生成的文件太小。
当我在浏览器中导航到http://www-nass.nhtsa.dot.gov/nass/cds/GetBinary.aspx?Image&ImageID=682367204时,我可以将其下载为68k文件。但是,使用以下代码,我得到一个低于4k的文件:
using (WebClient webClient = new WebClient()) {
webClient.DownloadFile("http://www-nass.nhtsa.dot.gov/nass/cds/GetBinary.aspx?Image&ImageID=682367204", @"D:\\682367204.jpg");
}
更新:WebClient with credentials still not downloading file可能描述了我的问题的来源(和解决方案)。
答案 0 :(得分:0)
该网址似乎有问题。它在Internet Explorer中为我工作,但使用谷歌浏览器,浏览器开始下载“GetBinary.aspx”文件,也许这是 4ks 文件。
答案 1 :(得分:0)
我想这是由于授权限制。
您的代码 Carlos 和我自己获取4K文件的原因是我们无权访问所请求的文件。
我猜您已经使用某种登录程序通过浏览器访问该网站,或者位于可信网络上,允许该网站使用您的NT令牌。
似乎证实这一假设的是,当我将GetBinary.aspx文件的扩展名更改为 jpeg 时,我获得了一种禁止"禁止"图标。
因此,您可能需要在代码中执行更多工作,以进行身份验证。
编辑:使用Cygwin的' NIX 文件工具提供:
JPEG image data, JFIF standard 1.01
所以你得到的确是一张JPEG图片。