public MediaPM SaveMedia(Stream inputStream, int contentLength, string fileName, string contentType, int userId) { var extention = Path.GetExtension(fileName).ToLower(); var mediaType = GetFileMediaType(extention); var userMediaDirectory = AppConfigurationManager.GetUserMediaDirectory(); var newFileName = Guid.NewGuid().ToString(); var newFileNameWithExt = $"{newFileName}{extention}"; var filePath = $"{userMediaDirectory}\\{newFileName}{extention}"; string thumbnailPath = null; try { using (FileStream fileStream = new FileStream(filePath, FileMode.CreateNew)) { inputStream.CopyTo(fileStream); } if (mediaType == MediaType.Image) { thumbnailPath = $"{userMediaDirectory}\\{newFileName}-thumb{extention}"; var task = CreateThumbnailImageAsync(inputStream, thumbnailPath); } var media = MediaBiz.AddMedia(newFileNameWithExt, contentLength, mediaType, userId); UnitOfWork.SaveChanges(); return(media.GetPresentationModel()); } catch { File.Delete(filePath); if (thumbnailPath != null) { File.Delete(thumbnailPath); } throw; } }
public void CreateThumbnails() { ZigmaWebContext c = new ZigmaWebContext(); var dir = AppConfigurationManager.GetUserMediaDirectory(); c.Medias.ToList().ForEach(m => { var path = $"z:\\public_html\\usermedia\\{m.FileName}"; }); }