Задать вопрос
@burov0798
Пытаюсь изучать php\js

Ошибка malformed при загрузке фото в вк через curl?

Сохраняю картинку на сервер с именем image.jpg, потом загружаю их в вк. Некоторые картинки загружаются без проблем, а у некоторых курл выдает такую ошибку: malformed.
function curl($url){
	$aPost = array('file1' => new CURLFile("image.jpg")); 
	$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $aPost);
    $res = curl_exec($ch);
	echo curl_error($ch);
    return $res; 
  }

Но картинка, на которую орет курл - без проблем скачивается и открывается, в чем может быть проблема?
Пример таких картинок:

https://ae01.alicdn.com/kf/HTB1rs9rKpXXXXb8XVXXq6x...
https://ae01.alicdn.com/kf/HTB1JwBfOpXXXXapXFXXq6x...
  • Вопрос задан
  • 2334 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
tomnolane
@tomnolane
профессиональный разработчик
у API VK есть ограничение - 3 запроса в секунду (любых). Может проблема в том, что много запросов делаете? (получить токен, потом сразу получить сервер для загрузки картинок, загрузить картинку 1, загрузить картинку вторую, сохранить) - и всё это успевается за 1 сек? И из-за этого, при запросе (4 запрос в секунду) на получения адреса сервера для загрузки картинок - возвращается пустая ссылка?
п.с. если альбом и/или группа не меняется (куда постить) - ненужно вызывать получать перед каждой картинкой метод (получить адрес сервера для загрузки) - можно использовать прежний (при отправке нескольких картинок) (п.с.с. по-моему теперь по новому можно не более 5 картинок за раз....) В любом случае, должно быть не более 3 запросов в секунду при использовании API VK. (я своё приложение сделал не на php конечно, а на с#, и перед каждой загрузкой картинки, я ставлю "паузу" на 450 миллисекунд.
проблема в $url
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы