public HttpResponseMessage DownloadFile([FromUri] FilesDTO fileDTO) { HttpResponseMessage result = null; FilesDTO filesDTO = FilesBAL.GetFileByFileIdAndUserId(fileDTO.Id, fileDTO.CreatedBy); if (filesDTO == null) { result = Request.CreateResponse(HttpStatusCode.BadRequest); } else { var localFilePath = HttpContext.Current.Server.MapPath("~/Uploads/" + filesDTO.Name); if (!File.Exists(localFilePath)) { result = Request.CreateResponse(HttpStatusCode.Gone); } else { result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new FileStream(localFilePath, FileMode.Open, FileAccess.Read)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentDisposition.FileName = filesDTO.Name; } } return(result); }
public HttpResponseMessage GetThumbnail([FromUri] FilesDTO fileDTO) { HttpResponseMessage response = null; fileDTO = FilesBAL.GetFileByFileIdAndUserId(fileDTO.Id, fileDTO.CreatedBy); if (fileDTO == null) { response = Request.CreateResponse(HttpStatusCode.NotFound); } else { string path = HttpContext.Current.Server.MapPath("~/Uploads/" + fileDTO.Name); if (!File.Exists(path)) { response = Request.CreateResponse(HttpStatusCode.NotFound); } ShellFile shellFile = ShellFile.FromFilePath(path); Bitmap shellThumb = shellFile.Thumbnail.MediumBitmap; byte[] file = ImageToBytes(shellThumb); MemoryStream ms = new MemoryStream(file); response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new ByteArrayContent(file); response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); response.Content.Headers.ContentDisposition.FileName = fileDTO.Name; } return(response); }
public int UploadFileByParentFolderIdAndUserId() { int id = 0; if (HttpContext.Current.Request.Files.Count > 0) { try { string name = ""; string fileExt = ""; int fileSizeInKB = 0; foreach (var fileName in HttpContext.Current.Request.Files.AllKeys) { HttpPostedFile file = HttpContext.Current.Request.Files[fileName]; if (file != null) { fileSizeInKB = file.ContentLength / 1024; if ((fileSizeInKB / 1024) > 8) { return(0); } fileExt = Path.GetExtension(file.FileName); name = file.FileName; string rootPath = HttpContext.Current.Server.MapPath("~/Uploads"); string fileSavePath = Path.Combine(rootPath, name); file.SaveAs(fileSavePath); } } //end of foreach FilesDTO filesDTO = new FilesDTO(); filesDTO.Name = name; filesDTO.ParentFolderId = Convert.ToInt32(HttpContext.Current.Request["ParentFolderId"]); filesDTO.FileExt = fileExt; filesDTO.FileSizeInKB = fileSizeInKB; filesDTO.CreatedBy = Convert.ToInt32(HttpContext.Current.Request["CreatedBy"]); filesDTO.UploadedOn = DateTime.Now; filesDTO.IsActive = true; id = FilesBAL.CreateFile(filesDTO); } catch (Exception ex) { return(id); } } //end of if count > 0 return(id); }
public HttpResponseMessage DownloadMetaDataDocument(int ParentFolderId, int UserId) { HttpResponseMessage result = null; var dest = HttpContext.Current.Server.MapPath("~/Uploads/MetaDataDocument.pdf"); if (File.Exists(dest)) { File.Delete(dest); } var writer = new PdfWriter(dest); var pdf = new iText.Kernel.Pdf.PdfDocument(writer); var document = new Document(pdf); Queue <FolderDTO> folderDTOsQueue = new Queue <FolderDTO>(); FolderDTO folderDTO = FolderBAL.GetFolderByFolderIdAndUserId(ParentFolderId, UserId); folderDTOsQueue.Enqueue(folderDTO); while (folderDTOsQueue.Count > 0) { folderDTO = folderDTOsQueue.Dequeue(); document.Add(new Paragraph("Name: " + folderDTO.Name + "\nType: Folder\nSize: None\nParent: " + folderDTO.ParentFolderName)); List <FilesDTO> fileDTOsList = FilesBAL.GetFilesByParentFolderIdAndUserId(folderDTO.Id, folderDTO.CreatedBy); foreach (FilesDTO fileDTO in fileDTOsList) { document.Add(new Paragraph("Name: " + fileDTO.Name + "\nType: File\nSize: " + fileDTO.FileSizeInKB + " KB\nParent: " + folderDTO.ParentFolderName)); } List <FolderDTO> folderDTOsList = FolderBAL.GetFoldersWithParentFolderNameByParentFolderIdAndUserId(folderDTO.Id, folderDTO.CreatedBy); foreach (FolderDTO tempDTO in folderDTOsList) { folderDTOsQueue.Enqueue(tempDTO); } } document.Close(); result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new FileStream(dest, FileMode.Open, FileAccess.Read)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentDisposition.FileName = "MetaDataDocument.pdf"; return(result); }
public bool DeleteFileByFileIdAndUserId(FilesDTO fileDTO) { return(FilesBAL.DeleteFileByFileIdAndUserId(fileDTO.Id, fileDTO.CreatedBy)); }
public List <FilesDTO> GetFilesByParentFolderIdAndUserId(FilesDTO fileDTO) { return(FilesBAL.GetFilesByParentFolderIdAndUserId(fileDTO.ParentFolderId, fileDTO.CreatedBy)); }