/// <summary> /// 更新一个记录 /// </summary> /// <param name="P_Entity"></param> /// <returns></returns> public async Task <int> UpdateAsync(MemberFileEntity PEntity) { if (PEntity == null) { return(0); } PEntity.UpDateTime = DateTime.Now; _GhDbContext.dsMemberFiles.Update(PEntity); return(await _GhDbContext.SaveChangesAsync().ConfigureAwait(false)); }
/// <summary> /// 向数据库表添加一个新的记录,如果该记录已经存在,返回-2。 /// </summary> /// <param name="P_Entity"></param> /// <returns></returns> public async Task <int> AddAsync(MemberFileEntity PEntity, string FileId) { if (PEntity == null || PEntity.Id != null) { return(-2); } PEntity.Id = FileId; PEntity.UpDateTime = DateTime.Now; _GhDbContext.dsMemberFiles.Add(PEntity); return(await _GhDbContext.SaveChangesAsync().ConfigureAwait(false)); }
public async Task <string> PutAsync([FromBody] MemberFileEntity PEntity) { ExcuteResult actResult = new ExcuteResult(); if (await _FileRepository.UpdateAsync(PEntity).ConfigureAwait(false) > 0) { actResult.SetValues(p_state: 0, p_msg: "文件信息更新成功", p_tag: PEntity?.Id); } else { actResult.SetValues(1, "文件信息更新失败!"); } return(JsonConvert.SerializeObject(actResult)); }
public async Task <ActionResult> GetDownLoadFileAsync(string FileId) { MemberFileEntity FileInfo = await _FileRepository.GetOneByIdAsync(FileId).ConfigureAwait(false); if (FileInfo != null) { string FileName = $"{FileInfo.Name}({FileInfo.Id}){FileInfo.ExtendName}"; string fileFullName = Path.Combine(_FileBaseDir, $"{FileInfo.Id}{FileInfo.ExtendName}"); if (System.IO.File.Exists(fileFullName)) { return(PhysicalFile(fileFullName, "application/octet-stream", FileName)); } } return(NotFound()); }
public async Task <string> PostUpLoadFileAsync([FromForm] MemberFileEntity PFile) { ExcuteResult actResult = new ExcuteResult(); if (Request.Form.Files.Count > 0 && PFile != null) { try { string FileId = AppCodes.AppStaticClass.GetIdOfDateTime(); if (!System.IO.Directory.Exists(_FileBaseDir)) { System.IO.Directory.CreateDirectory(_FileBaseDir); } string FileName = Path.Combine(_FileBaseDir, $"{FileId}{PFile.ExtendName}");// _configuration["StaticFileDir"] + $"\\WorkFiles\\{pfile.Id}{pfile.ExtendName}"; using (FileStream fs = System.IO.File.Create(FileName)) { await Request.Form.Files[0].CopyToAsync(fs).ConfigureAwait(false); fs.Flush(); } if (System.IO.File.Exists(FileName)) { //文件写入成功后,再保存文件信息到数据表 PFile.UpDateTime = DateTime.Now; if (await _FileRepository.AddAsync(PFile, FileId).ConfigureAwait(false) > 0) { actResult.SetValues(0, "上传成功", p_tag: FileId); } else { actResult.SetValues(-3, "文件保存到服务器数据库时出错。"); } } else { actResult.SetValues(-1, "文件保存到服务器磁盘时出错。"); } } catch (System.Exception err) { actResult.SetValues(1, err.Message); } } return(JsonConvert.SerializeObject(actResult)); }
/// <summary> /// 删除一个记录 /// </summary> /// <param name="Id"></param> /// <returns></returns> public async Task <int> DeleteByIdAsync(string FileBaseDir, string Id) { int DelCount = 0; if (Id == null) { return(0); } MemberFileEntity CurFile = _GhDbContext.dsMemberFiles.Find(Id); _GhDbContext.dsMemberFiles.Remove(CurFile); DelCount = await _GhDbContext.SaveChangesAsync().ConfigureAwait(false); if (DelCount > 0) { //删除硬盘上的文件 var fileName = Path.Combine(FileBaseDir, $"{CurFile.Id}{CurFile.ExtendName}"); if (System.IO.File.Exists(fileName)) { System.IO.File.Delete(fileName); } } return(DelCount); }