【发布时间】:2015-04-27 15:40:45
【问题描述】:
我正在尝试从我的网络服务器下载图片并将它们保存在一个文件夹中。
<CURL *curl;
FILE *fp;
CURLcode res;
char outfilename[FILENAME_MAX];
std::string soutfilename = "C:\\Users\\MDrazyk\\counTechTemp\\";
string lawl= getURL(einstellung[8][0]);
const char *url = lawl.c_str();
curl = curl_easy_init();
for(int g = 0; g < std::stoi(einstellung[0][7]); ++g){
string str = einstellung[8][0];
soutfilename =soutfilename +str;
strcpy(outfilename,soutfilename.c_str());
if (curl) {
fp = fopen(outfilename,"wb");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
}
}
curl_easy_cleanup(curl);
fclose(fp);
和getURL:
std::string getURL(std::string a) {
std::string url = "http://192.168.240.1/files/";
url = url + a;
retur url;
}
einstellung[8][0] = 图片名称
当我启动程序时,它会将图片保存在它们为空的文件夹中。 当我手动添加 URL 时,第一张图片就完成了,有时下一张就坏了。
【问题讨论】:
-
关键可能在于 HTTP 服务器的响应。打开 CURLOPT_VERBOSE 并调查细节!