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); } }