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); }
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); }
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); }