public async Task <ResponseResult> uploadCompanyInfoFile() { FileUploadsInfoDto dto = new FileUploadsInfoDto(); dto.Id = Request.Form["Id"]; dto.File = Request.Form.Files.FirstOrDefault(); return(await this.companyInfoServices.uploadCompanyInfoFile(dto)); }
/// <summary> /// 上传公司附件 /// </summary> /// <param name="file">文件</param> /// <returns></returns> public async Task <ResponseResult> uploadCompanyInfoFile(FileUploadsInfoDto dto) { var result = new ResponseResult(0, "上传成功"); var file = dto.File; var Id = dto.Id; try { if (file != null) { var typeList = ".jpg,.jpeg,.png,.gif,.pdf,.JPG,.JPEG,.PBG,.GIF,.PDF"; var fileNameSplit = file.FileName.Split("."); var fileForm = fileNameSplit[fileNameSplit.Length - 1]; if (typeList.IndexOf(fileForm) != -1) { string dirName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); var path = Directory.GetCurrentDirectory(); string dirPath = "/FileUpload/CompanyInfo/" + dto.Id + "/" + dirName; var fullPath = path + "/wwwroot" + dirPath; //文件名称 string projectFileName = file.FileName; //判断是否上传同名文件 Expression <Func <FileUploadsInfo, bool> > filter = p => true; filter = filter.And(p => !p.IsDeleted && p.FilePath == (dirPath + "/" + projectFileName)); var fileUploadsInfo = this.fileUploadsInfoRepository.GetAllListAsync(filter); if (fileUploadsInfo.Result.Count > 0) { result.Code = -1; result.Message = projectFileName + "重复上传"; return(result); } else { if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } //上传的文件的路径 string filePath = fullPath + $@"\{projectFileName}"; using (FileStream fs = System.IO.File.Create(filePath)) { file.CopyTo(fs); fs.Flush(); } var worker = new IdWorker(1, 1); var fileInfo = new FileUploadsInfo(); fileInfo.Id = worker.NextId(); fileInfo.FileType = "CompanyInfo"; fileInfo.FilePath = dirPath + "/" + projectFileName; fileInfo.CreationTime = DateTime.Now; fileInfo.FileForm = fileForm; fileInfo.FileName = projectFileName; fileInfo.CompanyId = Convert.ToInt64(Id); await this.fileUploadsInfoRepository.InsertAsync(fileInfo); this.fileUploadsInfoRepository.SaveChanged(); return(result); } } else { result.Code = -1; result.Message = "文件格式不正确,上传失败"; } } } catch (Exception ex) { result.Code = -1; result.Message = ex.Message; LogLock.WriteLine("SystemLog", new[] { ex.ToString() }); } return(result); }