curl-library
libcurl win32 package - image download corrupted
Date: Thu, 29 Sep 2011 17:49:59 +0100 (BST)
Hi,
I used this package to build a script for Win32, which should fetch an image from a server:
http://curl.haxx.se/download/libcurl-7.19.3-win32-ssl-msvc.zip
Unfortunately the images downloaded are all corrupted.
Here's the code for grabbing the image:
{{{
CURL *curl_handle;
// get argument
char * query[] = "http://blog.evermeet.cx/uploads/camaro.jpg";
char * separator = strrchr(query,'/');
char * filename = separator+1;
curl_global_init(CURL_GLOBAL_ALL);
// init the curl session
curl_handle = curl_easy_init();
// set URL to get
curl_easy_setopt(curl_handle, CURLOPT_URL, query);
// no progress meter please
curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L);
// send all data to this function
curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data);
FILE* outputfile = fopen(filename,"w");
if (outputfile == NULL) {
curl_easy_cleanup(curl_handle);
printf("Error opening file.");;
}
// write to a file
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, outputfile);
// get it!
curl_easy_perform(curl_handle);
fclose(outputfile);
// cleanup curl stuff */
curl_easy_cleanup(curl_handle);
// we're done with libcurl, so clean it up
curl_global_cleanup();
}}}
I tested it with various examples, eg. 'http://blog.evermeet.cx/uploads/camaro.jpg', and the image is corrupted (can be displayed, but has a lot of errors). Other images download but the image can't be opened due to "bogus huffman table" errors (according to Irfanview). I compared an image with its corrupted version and it seems that there are single bytes missing in between, or are flipped - I can't make sense out of it, but for an aproximately 80kB image, I had 6 bytes missing in the entire bytestream and that caused the mess.
Can somebody check this? I suspect that it is a bug somewhere in the libcurl code, since the same stuff works great on OSX.
Cheers,
OP
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2011-09-29