Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Upload Image and save it to the assets tab of a ProductContent

Vote:
0

Hi guys, 

I want to upload an image to the assets tab of a Product Content , I have tried the following code but it doesnt work 

var filePath = "C:\\fl.jpg";
var imageExtension = ".jpg";

var contentReferenceToFolder = new ContentReference(112837);
var contentRepository = ServiceLocator.Current.GetInstance();
var newImage = contentRepository.GetDefault(contentReferenceToFolder);

var blobFactory = ServiceLocator.Current.GetInstance();
var byteArrayData = System.IO.File.ReadAllBytes(filePath);

var blob = blobFactory.CreateBlob(newImage.BinaryDataContainer, imageExtension);
using (var s = blob.OpenWrite())
{
var w = new StreamWriter(s);
w.BaseStream.Write(byteArrayData, 0, byteArrayData.Length);
w.Flush();
}

newImage.BinaryData = blob;
newImage.Name = "fl.jpg";
var contentLink = contentRepository.Save(newImage, SaveAction.Publish,AccessLevel.NoAccess);

// get a variant by its code that is equal to the sku here (it's given in the url ) 
var referenceConverter = ServiceLocator.Current.GetInstance();
var code = sku;
var variantLink = referenceConverter.GetContentLink(code);
var repo = ServiceLocator.Current.GetInstance();
var variant = repo.Get(variantLink);

var commerceMedia = new CommerceMedia() { AssetLink = contentLink };

var clone = variant.CreateWritableClone();
clone.Name = "Update";
contentRepository.Save(clone, SaveAction.Publish, AccessLevel.NoAccess);

clone.CommerceMediaCollection.Add(commerceMedia);



#193579
May 31, 2018 17:11
Vote:
0

Which part doesn't work for you?  You would have to save the content after adding the commerce media

#193580
May 31, 2018 18:03
Vote:
0

I want the image to display here but it doesnt 

#193583
May 31, 2018 18:20
Vote:
1

As I said you have to save after, not before. 

#193584
May 31, 2018 18:24
Vote:
0

Now I get this exception :/ 

#193587
May 31, 2018 18:43
Vote:
2

You have to set other property such as GroupName :) 

#193588
May 31, 2018 18:46
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.