2016-05-06 69 views
0

我有一个定制的后台系统,我试图使用通过Soap API填充Magento 2.0测试床产品目录。Magento 2.02 - Soap API C# - 上传图片错误

我已经与大多数属性良好的成功,但是当我试图上传base64编码的图像与呼叫,我得到

没有MediaGalleryEntryConverter给定类型的”中的XML响应。

我找不到有关此转换器是或应该是什么的信息?

我上传的文件是一个jpeg文件,为了获得成功,我使用了这个优秀文章Uploading images via the Magento SOAP API的各种排列组合。

理想情况下,我宁愿让API产品保存参考文件的外部Web链接,因为它们都已经托管,甚至在本地Web服务器文件系统上甚至NFS挂载,但我没有找到任何示例如何在2.0上实现这一点。

Magento的版本是Ubuntu的,我自认是多窗口的人认为Linux的,但没觉得有信心我会得到它的权利,包括目录权限等

我不知所措至于我的Magento/linux版本是否应该归咎于我的代码/图像文件。

有没有人见过类似的东西,或者有任何2.0的经验可以帮助我诊断这个问题?

在此先感谢。

回答

1

我有同样的问题。事实证明,我的catalogProductAttributeMediaGalleryManagementV1Create请求中的“mediaType”属性被设置为“png”,但应该设置为“image”。 Magento在内部尝试将“mediaType”与可用媒体转换器进行匹配,请参阅Magento \ Catalog \ Model \ Product \ Attribute \ Backend \ Media \ EntryConverterPool:getConverterByMediaType。

'sku' => 'example-sku', 
'entry' => [ 
    'types' => ['image',], 

    //should be "image" in your case 
    'mediaType' => 'image', 

    'label' => 'Test Label', 
    'position' => 1, 
    'disabled' => false, 
    'file' => './', 
    'content' => [ 
     'base64EncodedData' => '<base64 encoded image file content>', 
     'type' => 'image/png', 
     'name' => 'dummy.png', 
    ], 
]