Ejemplo n.º 1
0
        public async Task <MediaInfoStruct> NewMediaObject(
            string blogId,
            string userName,
            string password,
            MediaObjectStruct mediaObject)
        {
            string extension = Path.GetExtension(mediaObject.name);
            //string fileName = Guid.NewGuid().ToString() + extension;
            string fileName = Path.GetFileName(mediaObject.name).ToLowerInvariant().Replace("_thumb", "-wlw");

            await blogService.SaveMedia(
                blogId,
                userName,
                password,
                mediaObject.bytes,
                fileName
                ).ConfigureAwait(false);

            var mediaUrl = await blogService.ResolveMediaUrl(fileName);;
            var result   = new MediaInfoStruct()
            {
                url = mediaUrl
            };

            return(result);
        }
Ejemplo n.º 2
0
        public async Task <MediaInfoStruct> NewMediaObject(string blogId, string userName, string password, MediaObjectStruct mediaObject)
        {
            var url = await _blogService.SaveMedia(mediaObject.bytes, mediaObject.name).ConfigureAwait(false);

            var result = new MediaInfoStruct {
                url = url
            };

            return(result);
        }
        public async Task <MediaInfoStruct> NewMediaObject(
            string blogId,
            string userName,
            string password,
            MediaObjectStruct mediaObject)
        {
            var permission = await _security.ValidatePermissions(
                blogId,
                userName,
                password,
                CancellationToken.None
                ).ConfigureAwait(false);

            if (!permission.CanEditPosts)
            {
                _log.LogWarning($"user {userName} cannot edit posts");
                return(new MediaInfoStruct());
            }

            string extension = Path.GetExtension(mediaObject.name);
            string fileName  = Path.GetFileName(mediaObject.name).ToLowerInvariant().Replace("_thumb", "-wlw");
            var    project   = await _projectService.GetCurrentProjectSettings().ConfigureAwait(false);

            if (project == null)
            {
                _log.LogError("failed to resolve proejct settings");
                return(new MediaInfoStruct());
            }

            //https://github.com/cloudscribe/cloudscribe.SimpleContent/issues/345
            var currentTime        = DateTime.UtcNow;
            var storageVirtualPath = "/media/images/" + currentTime.Year.ToInvariantString()
                                     + "/" + currentTime.Month.ToString("00")
                                     + "/" + currentTime.Day.ToString("00")
                                     + "/"
            ;

            await _mediaProcessor.SaveMedia(storageVirtualPath, fileName, mediaObject.bytes).ConfigureAwait(false);

            var mediaUrl = await _mediaProcessor.ResolveMediaUrl(storageVirtualPath, fileName).ConfigureAwait(false);

            var result = new MediaInfoStruct()
            {
                url = mediaUrl
            };

            return(result);
        }
Ejemplo n.º 4
0
        public async Task <MediaInfoStruct> NewMediaObject(
            string blogId,
            string userName,
            string password,
            MediaObjectStruct mediaObject)
        {
            var permission = await _security.ValidatePermissions(
                blogId,
                userName,
                password,
                CancellationToken.None
                ).ConfigureAwait(false);

            if (!permission.CanEditPosts)
            {
                _log.LogWarning($"user {userName} cannot edit posts");
                return(new MediaInfoStruct());
            }

            string extension = Path.GetExtension(mediaObject.name);
            string fileName  = Path.GetFileName(mediaObject.name).ToLowerInvariant().Replace("_thumb", "-wlw");
            var    project   = await _projectService.GetCurrentProjectSettings();

            if (project == null)
            {
                _log.LogError("failed to resolve proejct settings");
                return(new MediaInfoStruct());
            }

            await _blogService.SaveMedia(
                blogId,
                mediaObject.bytes,
                fileName
                ).ConfigureAwait(false);

            var mediaUrl = await _mediaProcessor.ResolveMediaUrl(project.LocalMediaVirtualPath, fileName);;
            var result   = new MediaInfoStruct()
            {
                url = mediaUrl
            };

            return(result);
        }