コード例 #1
0
 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);
     }
 }
コード例 #2
0
 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);
     }
 }