я вошел на сервер Викимедиа с API и не могу загрузить
я получаю эту ошибку:
спасибо, я вернул эту ошибку,
Файл загрузки файла параметров не является загрузкой файла; обязательно используйте multipart / form-data для вашего POST и включите имя файла в заголовок Content-Disposition
вот код загрузки изображения:
$postdata = "action=upload&format=php&filename=Image.jpg&file=@".realpath("Image.jpg")."&token=" . urlencode($_SESSION["csrftoken"]);
$app["curloptionscostun"] = array(
CURLOPT_COOKIEFILE =>$CookieFile,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_USERAGENT => $app["useragent"],
CURLOPT_POST => true,
CURLOPT_HEADER => true,
CURLOPT_HTTPHEADER => "Content-Type:multipart/form-data");
$ch = curl_init();
curl_setopt_array($ch, $app["curloptionscostun"]);
curl_setopt($ch, CURLOPT_URL, $app["apiURL"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = unserialize(curl_exec($ch));
if(curl_errno($ch)){
echo "Error 004: " . curl_error($ch);
}
curl_close($ch);
это лучше?
curl_setopt(
$ch,
CURLOPT_POSTFIELDS,
array(
'action' =>'upload',
'format'=>'php',
'filename'=>'Image.jpg',
'token' => urlencode($_SESSION["csrftoken"]),
'file' => '@' . realpath('Image.jpg')
));
Других решений пока нет …