Exemple #1
0
        public ActionResult UploadFile(string user_id, string fld, string fileName, bool?multiple = false, string callback = null)
        {
            var user = UnityConfig.GetConfiguredContainer().Resolve <AnnotationImageHandler>().GetUserDataHandler().GetUserByGuid(user_id) ??
                       new User();

            try
            {
                var files     = HttpContext.Request.Files;
                var uploadDir = Path.Combine(Server.MapPath("~/App_Data"), fld);
                var filePath  = Path.Combine(uploadDir, fileName ?? files[0].FileName);

                Directory.CreateDirectory(uploadDir);

                using (var stream = System.IO.File.Create(filePath))
                {
                    ((multiple ?? false) ? HttpContext.Request.InputStream : files[0].InputStream).CopyTo(stream);
                }

                var fileId = Path.Combine(fld, fileName ?? files[0].FileName);
                AnnotationImageHandler annotator = UnityConfig.GetConfiguredContainer().Resolve <AnnotationImageHandler>();
                try
                {
                    annotator.CreateDocument(fileId, DocumentType.Pdf, user.Id);
                }
                catch (AnnotatorException e)
                {
                    if (annotator.RemoveDocument(fileId))
                    {
                        annotator.CreateDocument(fileId, DocumentType.Pdf, user.Id);
                    }
                }
                return(this.JsonOrJsonP(new FileResponse(fileId), callback));
            }
            catch (Exception e)
            {
                return(this.JsonOrJsonP(new FailedResponse {
                    success = false, Reason = e.Message
                }, callback));
            }
        }
        public static FileResponse UploadFile(string user_id, string fld, string fileName, bool?multiple = false)
        {
            var user = UnityConfig.GetConfiguredContainer().Resolve <AnnotationImageHandler>().GetUserDataHandler().GetUserByGuid(user_id) ??
                       new User();

            try
            {
                var files     = HttpContext.Current.Request.Files;
                var uploadDir = Path.Combine(pathFinder.GetApplicationPath() + "_layouts/15/GroupDocs_Annotation_SharePoint_WebPart/App_Data", fld);
                var filePath  = Path.Combine(uploadDir, fileName ?? files[0].FileName);

                Directory.CreateDirectory(uploadDir);

                using (var stream = System.IO.File.Create(filePath))
                {
                    ((multiple ?? false) ? HttpContext.Current.Request.InputStream : files[0].InputStream).CopyTo(stream);
                }

                var fileId = Path.Combine(fld, fileName ?? files[0].FileName);
                try
                {
                    annotator.CreateDocument(fileId, DocumentType.Pdf, user.Id);
                }
                catch (AnnotatorException e)
                {
                    if (annotator.RemoveDocument(fileId))
                    {
                        annotator.CreateDocument(fileId, DocumentType.Pdf, user.Id);
                    }
                }
                return(new FileResponse(fileId));
            }
            catch (IOException e)
            {
                return(null);
            }
        }