Ejemplo n.º 1
0
        // 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);
        }
Ejemplo n.º 2
0
 // 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));
     }
 }
Ejemplo n.º 3
0
        // 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);
        }
Ejemplo n.º 4
0
        // 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);
        }
Ejemplo n.º 5
0
        // 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));
        }