Эта ошибка вызывается методом writePostedImageOnDisk()
в /classes/webservice/WebserviceSpecificManagementImages.php
.
Обычно это может быть связано с:
- Отсутствие прав доступа к вашей папке PHP
/tmp
и / или _PS_TMP_IMG_DIR_
$_FILES['image']['tmp_name'] being empty
- Некоторые проблемы с таблицей
customized_data
(в случае, если это изображение прикреплено к настроенному продукту)
Это работает для меня (используя PHP, но не Node.js):
<code><?php
include(__DIR__.'/config/config.inc.php');
/* Connect to the PrestaShop Web-service */
define('PS_SHOP_URL', 'http://localhost/prestashop');
define('PS_WS_AUTH_KEY', 'YOURWSKEY');
/* Local path to the image to upload */
$image_path = './test.png'; // Can either be JPEG, PNG, etc.
/* Image upload */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, PS_SHOP_URL.'/api/images/products/1');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERPWD, PS_WS_AUTH_KEY.':');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => curl_file_create($image_path)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
echo '<pre>'.print_r($response).'
'; // Должен повторить '1'
curl_close ($ ч);
Надеюсь, это поможет!