public Media CreateMedia(com.vmware.vcloud.api.rest.schema.MediaType mediaParams) { try { return(new Media(this.VcloudClient, SdkUtil.Post <com.vmware.vcloud.api.rest.schema.MediaType>(this.VcloudClient, this.Reference.href + "/media/", SerializationUtil.SerializeObject <com.vmware.vcloud.api.rest.schema.MediaType>(mediaParams, "com.vmware.vcloud.api.rest.schema"), "application/vnd.vmware.vcloud.media+xml", 201))); } catch (Exception ex) { throw new VCloudException(ex.Message); } }
public Media UploadMedia( string mediaName, string mediaDescription, ImageType mediaType, string localMediaFile, ReferenceType vdcStorageProfileRef, ReferenceType catalogRef) { try { Catalog catalog = this.CheckCatalogForDuplicates(catalogRef, mediaName); FileStream fileStream; try { fileStream = File.OpenRead(localMediaFile); } catch (FileNotFoundException ex) { throw new VCloudRuntimeException((Exception)ex); } com.vmware.vcloud.api.rest.schema.MediaType mediaParams = new com.vmware.vcloud.api.rest.schema.MediaType(); mediaParams.name = mediaName; mediaParams.Description = mediaDescription; mediaParams.imageType = mediaType.Value(); mediaParams.size = fileStream.Length; mediaParams.VdcStorageProfile = vdcStorageProfileRef; Media media = this.CreateMedia(mediaParams); string fileName = media.GetUploadFileNames().FirstOrDefault <string>(); media.UploadFile(fileName, (Stream)fileStream, fileStream.Length); while (media.Resource.status == 0) { media = Media.GetMediaByReference(this.VcloudClient, media.Reference); } this.AddResourceToCatalog(media.Reference, catalog); return(Media.GetMediaByReference(this.VcloudClient, media.Reference)); } catch (Exception ex) { throw new VCloudException(ex.Message); } }