public HttpResponseMessage Upload([FromUri] int annualTaskId, [FromUri] AnnualTaskDocType docType) { try { AnnualTaskDoc doc = reciveFile(annualTaskId, (AnnualTaskDocType)docType); if (docType == AnnualTaskDocType.BODY) { doc = _repository.AddBody(doc); } else if (docType == AnnualTaskDocType.ANNUAL_REPORT) { doc = _repository.AddAnnualReport(doc); //用户上传年度报告 //通知打点:发给所在单位所有管理员 //_noticeService.AddNoticeList( // _noticeService.GetInstManagerListByAnnualTaskId(doc.AnnualTaskId.Value), 49); //通知信打点:发给自己 //_noticeService.AddNotice( // _noticeService.GetUserIdByAnnualTaskId(doc.AnnualTaskId.Value), 32); } else { doc = _repository.AddAttachment(doc); } return(ResponseWrapper.SuccessResponse(doc)); } catch (Exception e) { return(ResponseWrapper.ExceptionResponse(e)); } }
public HttpResponseMessage Download([FromUri] int annualTaskId, [FromUri] AnnualTaskDocType docType) { try { var doc = _repository.GetAnnualTaskDocList() .FirstOrDefault(atd => atd.AnnualTaskId == annualTaskId && atd.Type == docType); if (doc == null) { throw new NotFoundException(); } return(FileHelper.Download(HttpContext.Current, doc.RelativeURL, doc.Name)); } catch (Exception e) { return(ResponseWrapper.ExceptionResponse(e)); } }
private static AnnualTaskDoc reciveFile(int annualTaskId, AnnualTaskDocType docType) { var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SystemConfig.AnnualTaskPathWin, annualTaskId.ToString()); //获取绝对路径 DirectoryInfo dir = Directory.CreateDirectory(path); //保存文件 string saveName = FileHelper.Upload(HttpContext.Current, dir.FullName); //生成AnnualTaskDoc对象 string url = "/" + Path.Combine(SystemConfig.AnnualTaskPathWeb, annualTaskId.ToString(), saveName).Replace(@"\", @"/"); AnnualTaskDoc doc = new AnnualTaskDoc() { RelativeURL = url, Type = docType, Name = saveName, AnnualTaskId = annualTaskId }; return(doc); }