2017-01-20 115 views
0

我正在創建接收base64編碼圖像代碼的magento api。 從api邊我收到該字符串。現在我必須轉換該圖像代碼並保存到所需的目的地。 如何在magento中實現這一點2.可以從該編碼的圖像中獲取該圖像名稱。請爲此提供幫助。 我有一個代碼將基礎64轉換爲在PHP中的圖像。但我想知道同樣的代碼是否工作在Magento evnvironment如何將base64代碼轉換爲magento中的圖像2

function base64_to_jpeg($base64_string, $output_file) { 
    $ifp = fopen($output_file, "wb"); 
    fwrite($ifp, base64_decode($base64_string)); 
    fclose($ifp); 
    return($output_file); 
} 

$image = base64_to_jpeg($my_base64_string, 'tmp.jpg'); 

回答

0

注入這些在構造函數:

\Magento\Catalog\Api\Data\ProductAttributeMediaGalleryEntryInterface $MediaGalleryEntry, 
\Magento\Framework\Api\Data\ImageContentInterface $imageContentInterface, 

在產品的創作我做這樣的事情:

$mediaGalleryEntry = $this->_mediaGalleryEntry; 
$mediaGalleryEntry->setLabel($name); 
$mediaGalleryEntry->setTypes(array("image","small_image","thumbnail")); 
$mediaGalleryEntry->setStoreIds($storeIds); 
$mediaGalleryEntry->setMediaType('image'); 
$mediaGalleryEntry->setPosition(0);  

$imageContent = $this->_imageContentInterface;     
$imageContent->setName($name); 
$imageContent->setType($imageType); 
$imageContent->setBase64EncodedData($imageData); 
$mediaGalleryEntry->SetContent($imageContent); 

$product->setMediaGalleryEntries(array($mediaGalleryEntry));