Код: Выделить всё
Код: Выделить всё
$ curl http://127.0.0.1/upload.php -F "fileToUpload=@/home/user/file.txt"
Код: Выделить всё
char *data = "this is the data to upload";
Код: Выделить всё
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
Есть ли способ сделать это без PHP?
Вот что я использую:
Код: Выделить всё
curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1/upload.php");
/* Now specify the POST data */
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "fileToUpload=file.txt", data);
Я добавил следующее, но не смог загрузить буфер в файл
Код: Выделить всё
struct curl_slist *list = NULL;
list = curl_slist_append(list, "multipart/form-data");
// Then you pass that post to libcurl like this:
curl_mime *form = curl_mime_init(curl);
/* Fill in the file upload field */
curl_mimepart *part = curl_mime_addpart(form);
curl_mime_name(part, "fileToUpload");
curl_mime_data(part, "file.txt", CURL_ZERO_TERMINATED);
curl_mime_data(part, (char *)data, sizeof(data));
// curl_mime_filedata(part, "photo.jpg");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_setopt(curl, CURLOPT_MIMEPOST, form);
Подробнее здесь: https://stackoverflow.com/questions/787 ... bcurl-in-c