public JsonResult WPSNotify(WPSNotifyRequest body) { _log.WriteInfo("开始请求接口【onnotify】"); WPSBaseModel result = new WPSBaseModel(); try { var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!request.Status) { result.code = request.code; result.message = request.message; result.details = request.details; result.hint = request.hint; } else { result.code = (int)Enumerator.ErrorCode.OK; } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【onnotify】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result)); }
public JsonResult RenameFile(RenameFileRequest body) { _log.WriteInfo("开始请求接口【file/rename】,请求参数:" + JsonConvert.SerializeObject(body)); WPSBaseModel result = new WPSBaseModel(); try { var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!request.Status) { result.code = request.code; result.message = request.message; result.details = request.details; result.hint = request.hint; } else { #region 在测试环境暂时不要将此块房开,由于上面获取文件名是固定的,成功更改文件成功后,不能打开文件 //var fileName = request.FileId == "1000" ? "TestFile.docx" : (request.FileId == "1001" ? "TestFile_v1.docx" : "TestFile_v2.docx"); ////原文件的物理路径 //string filePath = Server.MapPath($"/Files/{fileName}"); //// 移动到的新位置的物理路径(如果还是当前文件夹, 则会重命名文件) //string fileTargetPath = Server.MapPath($"/Files/{body.name}"); ////判断到的新地址是否存在重命名文件 //if (System.IO.File.Exists(fileTargetPath)) //{ // result.code = (int)Enumerator.ErrorCode.文件已存在; // result.message = EnumExtension.GetDescription(Enumerator.ErrorCode.文件已存在); //} //System.IO.File.Move(filePath, fileTargetPath);//2个文件在不同目录则是移动,如果在相同目录下则是重命名 #endregion result.code = (int)Enumerator.ErrorCode.OK; } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【file/rename】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result)); }
public JsonResult Version(int version) { _log.WriteInfo("开始请求接口【file/version】"); GetFileByVersionResult result = new GetFileByVersionResult(); try { var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!request.Status) { result.code = request.code; result.message = request.message; result.details = request.details; result.hint = request.hint; } else { // 从数据库查询文件信息...... // 创建时间和修改时间默认全是现在 var now = TimestampHelper.GetCurrentTimestamp(); var fileName = version == 1 ? "TestFile_v1.docx" : (version == 2 ? "TestFile_v2.docx" : "TestFile.docx"); string filePath = Server.MapPath($"/Files/{fileName}"); result.file = new GetFileResult { id = request.FileId, name = fileName, version = version, size = FileHelper.FileSize(filePath), // WPS单位是B, create_time = now, creator = "天玺", modify_time = now, modifier = "天玺", download_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/{fileName}" }; } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【file/version】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult SaveFile() { _log.WriteInfo("开始请求接口【file/save】"); SaveFileResult result = new SaveFileResult(); try { var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!request.Status) { result.code = request.code; result.message = request.message; result.details = request.details; result.hint = request.hint; } else { var fileName = request.FileId == "1000" ? "TestFile.docx" : (request.FileId == "1001" ? "TestFile_v1.docx" : "TestFile_v2.docx"); HttpFileCollection files = HttpContext.ApplicationInstance.Request.Files; foreach (string key in files.AllKeys) { HttpPostedFile file = files[key]; if (string.IsNullOrEmpty(file.FileName) == false) { file.SaveAs(Server.MapPath("~/Files/") + fileName); } } result.file = new WPSFileModel { download_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/{fileName}", id = request.FileId, name = request.Params["_w_fileName"].ToString() }; } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【file/save】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result)); }
public JsonResult NewFile(CreateWPSFileRequest request) { _log.WriteInfo("开始请求接口【file/new】"); var result = new CreateWPSFileResult(); try { var filterRequest = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!filterRequest.Status) { result.code = filterRequest.code; result.message = filterRequest.message; result.details = filterRequest.details; result.hint = filterRequest.hint; } else { HttpFileCollection files = HttpContext.ApplicationInstance.Request.Files; string fileName = Guid.NewGuid().ToString("N") + ".docx"; foreach (string key in files.AllKeys) { HttpPostedFile file = files[key]; if (string.IsNullOrEmpty(file.FileName) == false) { file.SaveAs(Server.MapPath("~/Files/") + fileName); } } result.redirect_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/{fileName}"; result.user_id = "1000"; } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【file/new】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result)); }
public JsonResult GetUserInfo(GetUserInfoRequest body) { _log.WriteInfo("开始请求接口【user/info】"); UserModelList result = new UserModelList(); try { var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!request.Status) { result.code = request.code; result.message = request.message; result.details = request.details; result.hint = request.hint; } else { result.users = new List <UserModel>(); result.users.Add(new UserModel { id = "1000", name = "天玺", avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo1.jpg", }); result.users.Add(new UserModel { id = "1001", name = "兆丰", avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo2.jpg" }); } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【user/info】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result)); }
public JsonResult FileInfo() { _log.WriteInfo("开始请求接口【file/info】"); FileInfoResult result = new FileInfoResult(); try { var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!request.Status) { result.code = request.code; result.message = request.message; result.details = request.details; result.hint = request.hint; } else { // 获取自定义参数 var userId = request.Params["_w_userId"].ToString(); //用户ID var fileId = request.FileId; //文件ID #region >>>从数据库查询用户名、文件 等信息......<<< #endregion #region >>>示例<<< // 创建时间和修改时间默认全是现在,可更改,但是注意时间戳是11位的(秒) var now = TimestampHelper.GetCurrentTimestamp(); var fileName = request.FileId == "1000" ? "TestFile.docx" : (request.FileId == "1001" ? "TestFile_v1.docx" : "TestFile_v2.docx"); int version = request.FileId == "1000" ? 5 : (request.FileId == "1001" ? 1 : 2); string filePath = Server.MapPath($"/Files/{fileName}"); result.file = new WPSFile { id = "1000", name = "TestFile.docx", // 如果线下修改后将修改此版本重新上传 version = 5, size = FileHelper.FileSize(filePath), // WPS单位是B create_time = now, creator = "天玺", modify_time = now, modifier = "天玺", download_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/{fileName}", user_acl = new User_acl { history = 1, // 允许查看历史版本 rename = 1, // 允许重命名 copy = 1, // 允许复制 export = 1, }, watermark = new Watermark { type = 1, // 1为有水印 value = "水印文字" } }; result.user = new UserForFile() { id = "1000", name = "天玺", //permission = "read", permission = "write", // write为允许编辑,read为只能查看 avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo1.jpg", }; #endregion } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【file/info】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult GetHistory(GetHistoryRequest body) { _log.WriteInfo("开始请求接口【file/history】"); GetHistoryResult result = new GetHistoryResult(); try { var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request); if (!request.Status) { result.code = request.code; result.message = request.message; result.details = request.details; result.hint = request.hint; } else { // 从数据库查询用户、文件信息等...... // 创建时间和修改时间默认全是现在 //var now = TimestampHelper.GetCurrentTimestamp(); var startNow = TimestampHelper.ConvertToTimeStamp(DateTime.Now.AddHours(-10)); // 不需要使用历史版本功能的此处也请返回,如果此接口不通时,文档加载会报错:“GetFileInfoFailed” result.histories = new List <HistroyModel> { new HistroyModel { id = "1001", name = "TestFile_v1.docx", size = FileHelper.FileSize(Server.MapPath("/Files/TestFile_v1.docx")), // 单位B version = 1, download_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/TestFile_v1.docx", create_time = startNow, modify_time = startNow, creator = new UserModel { id = "1001", name = "兆丰", avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo2.jpg" }, modifier = new UserModel { id = "1001", name = "兆丰", avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo2.jpg" } }, new HistroyModel { id = "1002", name = "TestFile_v2.docx", size = FileHelper.FileSize(Server.MapPath("/Files/TestFile_v2.docx")), // 单位B version = 2, download_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/TestFile_v2.docx", create_time = startNow, modify_time = startNow, creator = new UserModel { id = "1002", name = "丫丫", avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo3.jpg" }, modifier = new UserModel { id = "1002", name = "丫丫", avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo3.jpg" } } }; } } catch (Exception ex) { _log.WriteError("【系统异常】-【" + ex.Message + "】", ex); result.code = (int)Enumerator.ErrorCode.ServerError; result.message = Enumerator.ErrorCode.ServerError.ToString(); result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError); } _log.WriteInfo("请求接口【file/history】完成,返回数据:" + JsonConvert.SerializeObject(result)); return(Json(result)); }