/// <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();
 }
Example #9
0
 public VideoResult(DwsFileInfo fileInfo, FFMpegConverter converter)
 {
     DWSFileInfo = fileInfo;
     Converter   = converter;
 }
Example #10
0
 public DetailsResult(DwsFileInfo fileinfo)
 {
     DWSFileInfo = fileinfo;
 }