// GET: api/QueryFile/5 public FileInfo[] Get(int UserID, string UserName, string Township, string VillageCommittee, string Village, string Author, string FileName) { UserOperateLog vUserOperateLog = new UserOperateLog(); FileInfo[] vFileInfoArray = null; FilesManage vFilesManage = new FilesManage(); UploadFilesEF[] vQueryResult = vFilesManage.QueryFile(Township, VillageCommittee, Village, Author, FileName); if (vQueryResult != null) { vFileInfoArray = new FileInfo[vQueryResult.Length]; for (int i = 0; i < vFileInfoArray.Length; i++) { FileInfo vNewFile = new FileInfo(); vNewFile.ID = vQueryResult[i].ID.Value; vNewFile.AreaCode = vQueryResult[i].AreaCode; vNewFile.Author = vQueryResult[i].Author; vNewFile.FileName = vQueryResult[i].FileName; vNewFile.UnitName = vQueryResult[i].UnitName; vNewFile.UploadTime = vQueryResult[i].UploadTime; vFileInfoArray[i] = vNewFile; vUserOperateLog.WriteLog(UserID, UserName, string.Format("查询管理文档,所属单位:{0} 作者:{1} 文件名:{2}", vNewFile.UnitName, vNewFile.Author, vNewFile.FileName)); } } return(vFileInfoArray); }
// GET: api/DownloadFile/5 public HttpResponseMessage Get(int FileID, int UserID, string UserName) { try { FilesManage vFilesManage = new FilesManage(); UploadFilesEF vUploadFile = vFilesManage.GetFileByID(FileID); if (vUploadFile.ID != 0) { //var FilePath = System.Web.Hosting.HostingEnvironment.MapPath(@"C:/"); //var stream = new FileStream(FilePath, FileMode.Open); HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK); MemoryStream vStream = new MemoryStream(vUploadFile.Body); response.Content = new StreamContent(vStream); response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = vUploadFile.FileName }; UserOperateLog vUserOperateLog = new UserOperateLog(); vUserOperateLog.WriteLog(UserID, UserName, string.Format("下载文件,文件名[{0}]", vUploadFile.FileName)); return(response); } else { return(new HttpResponseMessage(HttpStatusCode.NoContent)); } } catch { return(new HttpResponseMessage(HttpStatusCode.NoContent)); } }
// GET: api/DeleteFile/5 public bool Get(int id, int UserID, string UserName, string FileName) { FilesManage vFilesManage = new FilesManage(); bool vResult = vFilesManage.DeleteFile(id); UserOperateLog vUserOperateLog = new UserOperateLog(); vUserOperateLog.WriteLog(UserID, UserName, string.Format("删除文件,文件名:{0}", FileName)); return(vResult); }
// POST: api/UploadFile public async Task <bool> Post(int id = 0) { bool vResult = false; if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } Dictionary <string, string> vDic = new Dictionary <string, string>(); //string root = HttpContext.Current.Server.MapPath("~/App_Data");//指定要将文件存入的服务器物理位置 var vProvider = new MultipartFormDataMemoryStreamProvider(); try { // 从流中读取数据 await Request.Content.ReadAsMultipartAsync(vProvider); foreach (var key in vProvider.FormData.AllKeys) {//接收FormData vDic.Add(key, vProvider.FormData[key]); } string vJsonStr = vDic["Json"]; if (vJsonStr != null && vJsonStr != "" && vProvider.FileContents.Count > 0) { JavaScriptSerializer vJSC = new System.Web.Script.Serialization.JavaScriptSerializer(); UploadFileStruct value = vJSC.Deserialize <UploadFileStruct>(vJsonStr); // 获取流中所有的文件 for (int i = 0; i < vProvider.FileContents.Count; i++) { var vFileContent = vProvider.FileContents[i]; var vFileInfo = value.Files[i]; var vStream = await vFileContent.ReadAsStreamAsync(); byte[] vBody = new byte[vStream.Length]; vStream.Read(vBody, 0, vBody.Length); FilesManage vFilesManage = new FilesManage(); vResult = vFilesManage.AddFile(value.UsersAuthor.UserID, vFileInfo.AreaCode, vFileInfo.UnitName, vFileInfo.FileName, vFileInfo.Author, vBody); if (!vResult) { break; } else { UserOperateLog vUserOperateLog = new UserOperateLog(); vUserOperateLog.WriteLog(value.UsersAuthor.UserID, value.UsersAuthor.UserName, string.Format("上传文件,文件名[{0}]", vFileInfo.FileName)); } } } } catch { throw; } return(vResult); }
// POST: api/FileNumberStatistics public FileNumberStatisticsStruct[] Post([FromBody] StatisticsParamtStruct QueryParam) { string AreaCodes = System.Web.HttpUtility.UrlDecode(QueryParam.AreaCodes); UserOperateLog vUserOperateLog = new UserOperateLog(); string vAreaName = ""; string[] vAreaArray = AreaCodes.Split('|'); foreach (string vTempAera in vAreaArray) { string[] vSplitArea = vTempAera.Split(','); if (vSplitArea.Length == 2) { vAreaName += vSplitArea[1] + "、"; } } vUserOperateLog.WriteLog(QueryParam.UserID, QueryParam.UserName, string.Format("统计数据,区域包括:{0}", vAreaName)); Statistics vStatistics = new Statistics(); return(vStatistics.FileNumberStatistics(AreaCodes)); }