private void UploadToS3(List <S3MediaUploadResult> list)
        {
            Assert.ArgumentNotNull(list, "list");
            var upload = new S3MediaUploadResult();

            list.Add(upload);
            upload.Path           = FileUtil.MakePath(this.Folder, Path.GetFileName(this.File.FileName), '/');
            upload.ValidMediaPath = MediaPathManager.ProposeValidMediaPath(upload.Path);
            MediaCreatorOptions options = new MediaCreatorOptions
            {
                Versioned     = this.Versioned,
                Language      = this.Language,
                KeepExisting  = !this.Overwrite,
                Destination   = upload.ValidMediaPath,
                FileBased     = this.FileBased,
                AlternateText = this.AlternateText,
                Database      = this.Database
            };

            options.Build(GetMediaCreatorOptionsArgs.UploadContext);

            var item = MediaManager.Creator.CreateFromStream(new MemoryStream(), upload.Path, options);

            upload.Item = item;

            S3Client.SendImageToS3(item.ID.ToString(), File.InputStream);
        }
        /// <summary>
        /// Unpacks to database.
        ///
        /// </summary>
        private void UnpackToDatabase(List <S3MediaUploadResult> list)
        {
            Assert.ArgumentNotNull((object)list, "list");
            string str = FileUtil.MapPath(TempFolder.GetFilename("temp.zip"));

            this.File.SaveAs(str);
            try
            {
                using (ZipReader zipReader = new ZipReader(str))
                {
                    foreach (ZipEntry zipEntry in zipReader.Entries)
                    {
                        if (!zipEntry.IsDirectory)
                        {
                            S3MediaUploadResult S3MediaUploadResult = new S3MediaUploadResult();
                            list.Add(S3MediaUploadResult);
                            S3MediaUploadResult.Path           = FileUtil.MakePath(this.Folder, zipEntry.Name, '/');
                            S3MediaUploadResult.ValidMediaPath = MediaPathManager.ProposeValidMediaPath(S3MediaUploadResult.Path);
                            MediaCreatorOptions options = new MediaCreatorOptions()
                            {
                                Language     = this.Language,
                                Versioned    = this.Versioned,
                                KeepExisting = !this.Overwrite,
                                Destination  = S3MediaUploadResult.ValidMediaPath,
                                FileBased    = this.FileBased,
                                Database     = this.Database
                            };
                            options.Build(GetMediaCreatorOptionsArgs.UploadContext);
                            Stream stream = zipEntry.GetStream();
                            S3MediaUploadResult.Item = MediaManager.Creator.CreateFromStream(stream, S3MediaUploadResult.Path, options);
                        }
                    }
                }
            }
            finally
            {
                FileUtil.Delete(str);
            }
        }
        /// <summary>
        /// Uploads to database.
        ///
        /// </summary>
        private void UploadToDatabase(List <S3MediaUploadResult> list)
        {
            Assert.ArgumentNotNull((object)list, "list");
            var S3MediaUploadResult = new S3MediaUploadResult();

            list.Add(S3MediaUploadResult);
            S3MediaUploadResult.Path           = FileUtil.MakePath(this.Folder, Path.GetFileName(this.File.FileName), '/');
            S3MediaUploadResult.ValidMediaPath = MediaPathManager.ProposeValidMediaPath(S3MediaUploadResult.Path);
            MediaCreatorOptions options = new MediaCreatorOptions
            {
                Versioned     = this.Versioned,
                Language      = this.Language,
                KeepExisting  = !this.Overwrite,
                Destination   = S3MediaUploadResult.ValidMediaPath,
                FileBased     = this.FileBased,
                AlternateText = this.AlternateText,
                Database      = this.Database
            };

            options.Build(GetMediaCreatorOptionsArgs.UploadContext);
            S3MediaUploadResult.Item = MediaManager.Creator.CreateFromStream(this.File.InputStream, S3MediaUploadResult.Path, options);
        }
        private void UploadToS3(List<S3MediaUploadResult> list)
        {
            Assert.ArgumentNotNull(list, "list");
            var upload = new S3MediaUploadResult();
            list.Add(upload);
            upload.Path = FileUtil.MakePath(this.Folder, Path.GetFileName(this.File.FileName), '/');
            upload.ValidMediaPath = MediaPathManager.ProposeValidMediaPath(upload.Path);
            MediaCreatorOptions options = new MediaCreatorOptions
            {
                Versioned = this.Versioned,
                Language = this.Language,
                KeepExisting = !this.Overwrite,
                Destination = upload.ValidMediaPath,
                FileBased = this.FileBased,
                AlternateText = this.AlternateText,
                Database = this.Database
            };

            options.Build(GetMediaCreatorOptionsArgs.UploadContext);

            var item = MediaManager.Creator.CreateFromStream(new MemoryStream(), upload.Path, options);

            upload.Item = item;

            S3Client.SendImageToS3(item.ID.ToString(), File.InputStream);
        }
 /// <summary>
 /// Uploads to database.
 /// 
 /// </summary>
 private void UploadToDatabase(List<S3MediaUploadResult> list)
 {
     Assert.ArgumentNotNull((object)list, "list");
     var S3MediaUploadResult = new S3MediaUploadResult();
     list.Add(S3MediaUploadResult);
     S3MediaUploadResult.Path = FileUtil.MakePath(this.Folder, Path.GetFileName(this.File.FileName), '/');
     S3MediaUploadResult.ValidMediaPath = MediaPathManager.ProposeValidMediaPath(S3MediaUploadResult.Path);
     MediaCreatorOptions options = new MediaCreatorOptions
     {
         Versioned = this.Versioned,
         Language = this.Language,
         KeepExisting = !this.Overwrite,
         Destination = S3MediaUploadResult.ValidMediaPath,
         FileBased = this.FileBased,
         AlternateText = this.AlternateText,
         Database = this.Database
     };
     options.Build(GetMediaCreatorOptionsArgs.UploadContext);
     S3MediaUploadResult.Item = MediaManager.Creator.CreateFromStream(this.File.InputStream, S3MediaUploadResult.Path, options);
 }
 /// <summary>
 /// Unpacks to database.
 /// 
 /// </summary>
 private void UnpackToDatabase(List<S3MediaUploadResult> list)
 {
     Assert.ArgumentNotNull((object)list, "list");
     string str = FileUtil.MapPath(TempFolder.GetFilename("temp.zip"));
     this.File.SaveAs(str);
     try
     {
         using (ZipReader zipReader = new ZipReader(str))
         {
             foreach (ZipEntry zipEntry in zipReader.Entries)
             {
                 if (!zipEntry.IsDirectory)
                 {
                     S3MediaUploadResult S3MediaUploadResult = new S3MediaUploadResult();
                     list.Add(S3MediaUploadResult);
                     S3MediaUploadResult.Path = FileUtil.MakePath(this.Folder, zipEntry.Name, '/');
                     S3MediaUploadResult.ValidMediaPath = MediaPathManager.ProposeValidMediaPath(S3MediaUploadResult.Path);
                     MediaCreatorOptions options = new MediaCreatorOptions()
                     {
                         Language = this.Language,
                         Versioned = this.Versioned,
                         KeepExisting = !this.Overwrite,
                         Destination = S3MediaUploadResult.ValidMediaPath,
                         FileBased = this.FileBased,
                         Database = this.Database
                     };
                     options.Build(GetMediaCreatorOptionsArgs.UploadContext);
                     Stream stream = zipEntry.GetStream();
                     S3MediaUploadResult.Item = MediaManager.Creator.CreateFromStream(stream, S3MediaUploadResult.Path, options);
                 }
             }
         }
     }
     finally
     {
         FileUtil.Delete(str);
     }
 }