/// <summary> /// 创建文件共享 /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <IActionResult> OnPostCreateSharedAsync([FromBody] CreateSharedDto dto) { if (TryValidateModel(dto)) { var shared = await fileSharedService.CreateSharedFileAsync(dto); if (shared != null) { return(new JsonResult(new { Code = shared.Code, EndDateTime = shared.EndDateTime.ToString(), FileId = shared.FileId.ToString(), Id = shared.Id.ToString() })); } } return(BadRequest()); }
/// <summary> /// 创建文件共享 /// </summary> /// <returns></returns> public async Task <FileShared> CreateSharedFileAsync(CreateSharedDto dto) { long fileId = long.Parse(dto.FileId); //先判断文件存不存在 var exist = await fileDbContext.Files.AnyAsync(e => e.Id == fileId && e.UserId == userId); if (exist) { var sharedId = GuidEx.NewGuid(); string code = string.Empty; if (dto.HadCode) { code = (new Random()).Next(1000, 9999).ToString(); } if (dto.Days <= 0) { dto.Days = 3650; } fileDbContext.FileShareds.Add(new FileShared { Id = sharedId, Code = code, EndDateTime = DateTimeOffset.Now.AddDays(dto.Days), FileId = fileId }); int row = await fileDbContext.SaveChangesAsync(); return(await GetFileSharedAsync(new GetFileSharedDto { Code = code, SharedId = sharedId })); } return(null); }