コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #5
0
 public bool DeleteFileByFileIdAndUserId(FilesDTO fileDTO)
 {
     return(FilesBAL.DeleteFileByFileIdAndUserId(fileDTO.Id, fileDTO.CreatedBy));
 }
コード例 #6
0
 public List <FilesDTO> GetFilesByParentFolderIdAndUserId(FilesDTO fileDTO)
 {
     return(FilesBAL.GetFilesByParentFolderIdAndUserId(fileDTO.ParentFolderId, fileDTO.CreatedBy));
 }