/// <summary> /// TODO - effective linking of saved files in FileTable with DwsFIleInfo..... /// ??? /// </summary> /// <param name="uploadInfo"></param> public List <DwsFileInfo> SaveUploadFiles(DwsFileUpload uploadInfo) { List <DwsFileInfo> fileInfo = new List <DwsFileInfo>(); string uploadDir = GetUploadDir(uploadInfo.SessionId); foreach (var file in uploadInfo.Files) { if (file.Length > 0) { var fileName = file.FileName; var fileInfoNew = new DwsFileInfo(fileName, uploadDir) { FriendlyName = Path.GetFileNameWithoutExtension(fileName), Description = uploadInfo.Description, CreatedTimestamp = DateTime.UtcNow, UpdatedTimestamp = DateTime.UtcNow, MimeType = file.ContentType, FileSize = file.Length, SessionId = uploadInfo.SessionId }; SaveFile(file, fileInfoNew); fileInfo.Add(fileInfoNew); } } return(SaveFileInfo(fileInfo)); }
/// <summary> /// doing this cause can't get model class to do it after an add, select is OK /// TODO bind the Id after add /// </summary> /// <param name="fileInfo"></param> private DwsFileInfo SetFileInfoExt(DwsFileInfo fileinfo) { fileinfo.FileApi = String.Format(@"/api/dws/files/view/{0}", fileinfo.Id); fileinfo.ThumbnailUrl = String.Format(@"/api/dws/files/thumbnail/100/100/{0}", fileinfo.Id); switch (fileinfo.MimeTypeCategory) { case "application": fileinfo.FileTarget = ".main-document"; break; case "audio": fileinfo.FileTarget = ".main-audio"; break; case "video": fileinfo.FileTarget = ".main-video"; break; case "image": fileinfo.FileTarget = ".main-image"; fileinfo.ExifDescription = DwsImageExif.GetExifDescription(fileinfo.FileFull); fileinfo.ExifDetails = DwsImageExif.GetExifDetails(fileinfo.FileFull); break; default: fileinfo.FileTarget = ""; break; } return(fileinfo); }
public ThumbnailResult(int width, int height, DwsFileInfo fileInfo, IHostingEnvironment env, FFMpegConverter converter) { Width = width; Height = height; FileInfo = fileInfo; HostEnv = env; Converter = converter; }
/// <summary> /// /// </summary> /// <param name="file"></param> /// <param name="filePath"></param> public void SaveFile(IFormFile file, DwsFileInfo fileInfo) { try { file.Save(fileInfo.FileFull); } catch (Exception ex) { throw new Exception("FileRepository", ex); } }
private Image GetThumbFromVideo(DwsFileInfo fileInfo) { try { var outThumb = new MemoryStream(); Converter.GetVideoThumbnail(fileInfo.FileFull, outThumb, 5); return(Image.FromStream(outThumb)); } catch (Exception ex) { throw ex; } }
/// <summary> /// pdf only for now /// </summary> /// <param name="type"></param> /// <returns></returns> private Image GetThumbFromApp(DwsFileInfo fileInfo) { // parse to see if supported mimetype // need a better way to do this!!! TODO // TODO - how to get a PDF thumbnail on server!? if (fileInfo.MimeType == "application/pdf") { try { var file = String.Format("{0}{1}", HostEnv.WebRootPath, @"\images\pdf-icon.jpg"); return(Image.FromFile(file)); } catch { return(Image.FromFile(Path.Combine(HostEnv.WebRootPath, @"\images\8ball32.jpg"))); } } else { return(Image.FromFile(Path.Combine(HostEnv.ContentRootPath, @"\images\8ball32.jpg"))); } }
public ImageResult(DwsFileInfo fileInfo) { DwsFile = fileInfo; }
private Image GetThumbForAudio(DwsFileInfo fileInfoh) { throw new NotImplementedException(); }
public VideoResult(DwsFileInfo fileInfo, FFMpegConverter converter) { DWSFileInfo = fileInfo; Converter = converter; }
public DetailsResult(DwsFileInfo fileinfo) { DWSFileInfo = fileinfo; }