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);
        }
Exemple #2
0
        private void UploadToDatabase(string fileName, MemoryStream optimizedImage, UploadArgs args, bool isFileBased)
        {
            string validPath      = FileUtil.MakePath(args.Folder, Path.GetFileName(fileName), '/');
            string validMediaPath = MediaPathManager.ProposeValidMediaPath(validPath);
            Item   createdItem    = null;

            MediaCreatorOptions options = new MediaCreatorOptions()
            {
                Versioned         = args.Versioned,
                Language          = args.Language,
                OverwriteExisting = !args.Overwrite,
                Destination       = validMediaPath,
                FileBased         = isFileBased,
                AlternateText     = args.GetFileParameter(fileName, "alt"),
                Database          = null,
            };

            options.Build(GetMediaCreatorOptionsArgs.UploadContext);

            createdItem = MediaManager.Creator.CreateFromStream(optimizedImage, validPath, 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);
            }
        }
        /// <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);
        }
        public static Item CreateItem(
            [NotNull] ID integrationItemID,
            [NotNull] ID integrationItemTemplateID,
            [NotNull] SharepointBaseItem sourceSharepointItem,
            [NotNull] SynchContext synchContext)
        {
            Assert.ArgumentNotNull(integrationItemID, "integrationItemID");
            Assert.ArgumentNotNull(integrationItemTemplateID, "integrationItemTemplateID");
            Assert.ArgumentNotNull(sourceSharepointItem, "sourceSharepointItem");
            Assert.ArgumentNotNull(synchContext, "synchContext");

            var validName = MediaPathManager.ProposeValidMediaPath(sourceSharepointItem.Title);

            Item integrationItem = ItemManager.AddFromTemplate(validName, integrationItemTemplateID, synchContext.ParentItem, integrationItemID);

            var folderItem = sourceSharepointItem as FolderItem;

            if (folderItem != null && integrationItem != null)
            {
                UpdateIntegrationConfigData(integrationItem, folderItem, synchContext);
            }

            return(integrationItem);
        }