我正在尝试按照此magento doc中的相同代码通过 magento image api 创建图像。
除了 SKU 包含斜杠(/)字符外,它的工作正常。
货号:SPA-1XCHOC12/DS0
这是错误显示在httpd/error_log
:
[Fri Feb 21 07:35:33 2014] [error] [client 8.35.201.40] PHP Fatal error: Uncaught SoapFault exception: [104] Cannot create image. in /var/www/html/product_api/image.php:22\nStack trace:\n#0 /var/www/html/product_api/image.php(22): SoapClient->__call('call', Array)\n#1 /var/www/html/product_api/image.php(22): SoapClient->call('67da4ad39466d6e...', 'product_media.c...', Array)\n#2 {main}\n thrown in /var/www/html/product_api/image.php on line 22
为了确定确切的问题,我添加了此代码
$this->_fault('not_created', $e->getMessage());
在app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php
这是错误:
[Fri Feb 21 07:41:56 2014] [error] [client 8.35.201.42] PHP Fatal error: Uncaught SoapFault exception: [104] Folder 'SPA-1XCHOC12' isn't writeable in /var/www/html/product_api/image.php:22\nStack trace:\n#0 /var/www/html/product_api/image.php(22): SoapClient->__call('call', Array)\n#1 /var/www/html/product_api/image.php(22): SoapClient->call('7f82eac2c509869...', 'product_media.c...', Array)\n#2 {main}\n thrown in /var/www/html/product_api/image.php on line 22
文件media/catalog/product
夹权限是. 777
仍然显示相同的错误。
这是我的代码:
后值是sku = 'SPA-1XCHOC12/DS0'
和image_url='http://example.com/11233.jpg'
$sessionId = $proxy->login($api_user, $api_pwd);
$newImage = array(
'file' => array(
'name' => $_POST['sku'],
'content' => base64_encode(file_get_contents($_POST['img_url'])),
'mime' => 'image/jpeg'
),
'position' => 0,
'types' => array('small_image', 'image', 'thumbnail'),
'exclude' => 0
);
$imageFilename = $proxy->call($sessionId, 'product_media.create', array($_POST['sku'], $newImage));