Prestashop Webservice Загрузка изображений - PullRequest
0 голосов
/ 23 ноября 2018

Здравствуйте и спасибо заранее, сейчас я пытаюсь загрузить изображение на prestashop 1.7 через веб-сервис и не могу вставить изображение в продукт.Я не знаю, что не получается, потому что я не получаю никакого ответа от веб-службы, даже с включенной отладкой (я получаю ответы xml от остальных файлов, но не от curl).

Переменная $idProduct представляет собой значение, переданное функции и определенное.

Мой код следующий:

$url = PS_SHOP_PATH."api/images/products/".$idProduct;
$dir_path_to_save = 'img/import/';

$img_path = getFile($remoteImageURL, $dir_path_to_save);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERPWD, PS_WS_AUTH_KEY.':');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => '@'.$img_path));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
echo print_r($response);
curl_close($ch);

Функция getFile загружает изображение на сервер, где находитсяустановил prestashop и возвращает путь (возвращает строку с реальным путем, где изображение хранится, уже протестировано).

Я попытался создать форму для загрузки изображения (только для тестирования), но он возвращает"code 66 - unable to save this image".Я не знаю, помогает ли это.

Спасибо

ОБНОВЛЕНИЕ

Один программист сказал мне использовать curl_file_create()

Таким образом, я изменил объявление $img_path следующим образом:

$img = curl_file_create($dir_path_to_save.'/'.basename($img_path));

Теперь все работает как положено.

...