private Document CreateDocument <T>(T fileId, string documentName, string folderId, out File <T> file) { var fileDao = DaoFactory.GetFileDao <T>(); file = fileDao.GetFile(fileId); if (file == null) { throw new Exception(FilesCommonResource.ErrorMassage_FileNotFound); } if (!FileSecurity.CanRead(file)) { throw new SecurityException(FilesCommonResource.ErrorMassage_SecurityException_ReadFile); } if (!SupportedFormats.Contains(FileUtility.GetFileExtension(file.Title))) { throw new ArgumentException(FilesCommonResource.ErrorMassage_NotSupportedFormat); } if (file.ContentLength > MaxFileSize) { throw new Exception(FileSizeComment.GetFileSizeExceptionString(MaxFileSize)); } byte[] fileBytes; using (var stream = fileDao.GetFileStream(file)) { var buffer = new byte[16 * 1024]; using var ms = new MemoryStream(); int read; while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) { ms.Write(buffer, 0, read); } fileBytes = ms.ToArray(); } if (string.IsNullOrEmpty(documentName)) { documentName = file.Title; } var document = new Document { DocumentBase64 = Convert.ToBase64String(fileBytes), DocumentFields = new List <NameValue> { new NameValue { Name = FilesLinkUtility.FolderId, Value = folderId }, new NameValue { Name = FilesLinkUtility.FileTitle, Value = file.Title }, }, DocumentId = "1", //file.ID.ToString(), FileExtension = FileUtility.GetFileExtension(file.Title), Name = documentName, }; return(document); }
private void PrintResultBySave(SaveResult result, string pageName) { var infoType = InfoType.Info; if (!result.Equals(SaveResult.Ok) && !result.Equals(SaveResult.NoChanges)) { infoType = InfoType.Alert; } switch (result) { case SaveResult.SectionUpdate: Response.RedirectLC(ActionHelper.GetViewPagePath(this.ResolveUrlLC("Default.aspx"), pageName), this); break; case SaveResult.OkPageRename: case SaveResult.Ok: PrintInfoMessage(WikiResource.msgSaveSucess, infoType); if (Action.Equals(ActionOnPage.AddNew) || Action.Equals(ActionOnPage.Edit)) { Response.RedirectLC(ActionHelper.GetViewPagePath(this.ResolveUrlLC("Default.aspx"), pageName), this); } else if (Action.Equals(ActionOnPage.AddNewFile)) { Response.RedirectLC(ActionHelper.GetEditFilePath(this.ResolveUrlLC("Default.aspx"), pageName), this); } break; case SaveResult.FileEmpty: PrintInfoMessage(WikiResource.msgFileEmpty, infoType); break; case SaveResult.FileSizeExceeded: PrintInfoMessage(FileSizeComment.GetFileSizeExceptionString(FileUploader.MaxUploadSize), infoType); break; case SaveResult.NoChanges: PrintInfoMessage(WikiResource.msgNoChanges, infoType); break; case SaveResult.PageNameIsEmpty: PrintInfoMessage(WikiResource.msgPageNameEmpty, infoType); break; case SaveResult.PageNameIsIncorrect: PrintInfoMessage(WikiResource.msgPageNameIncorrect, infoType); break; case SaveResult.SamePageExists: PrintInfoMessage(WikiResource.msgSamePageExists, infoType); break; case SaveResult.UserIdIsEmpty: PrintInfoMessage(WikiResource.msgInternalError, infoType); break; case SaveResult.OldVersion: PrintInfoMessage(WikiResource.msgOldVersion, infoType); break; case SaveResult.Error: PrintInfoMessage(WikiResource.msgMarkupError, InfoType.Alert); break; case SaveResult.PageTextIsEmpty: PrintInfoMessage(WikiResource.msgPageTextEmpty, infoType); break; } }
protected void cmdFileUpload_Click(object sender, EventArgs e) { if (fuFile.HasFile) { var result = EditFile.DirectFileSave(SecurityContext.CurrentAccount.ID, fuFile, MapPath("~"), WikiSection.Section, ConfigLocation, TenantId, HttpContext.Current); switch (result) { case SaveResult.Ok: Response.Redirect(Request.GetUrlRewriter().ToString(), true); return; case SaveResult.FileEmpty: WikiMaster.PrintInfoMessage(WikiResource.msgFileEmpty, InfoType.Alert); break; case SaveResult.FileSizeExceeded: WikiMaster.PrintInfoMessage(FileSizeComment.GetFileSizeExceptionString(FileUploader.MaxUploadSize), InfoType.Alert); break; } } BindRepeater(); }