上传文件后端

实体

/// <summary>
/// 会员培训表
/// </summary>
public partial class Train : FullAuditedAggregateRoot<Guid>, IMultiTenant
{
    /// <summary>
    /// 培训ID,唯一的,不可重复、签到二维码
    /// </summary>
    public Guid? TenantId { get; set; }


    /// <summary>
    /// 培训ID
    /// </summary>
    public string? TrainId { get; set; }

    public string? OrgId { get; set; }

    /// <summary>
    /// 教室ID
    /// </summary>
    public string? TeacherId { get; set; }

    /// <summary>
    /// 培训标题
    /// </summary>
    public string? Title { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime? AddTime { get; set; }

    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime? EndTime { get; set; }

    /// <summary>
    /// 是否启用 0启用 1禁用
    /// </summary>
    public int? IsEnable { get; set; }

    /// <summary>
    /// 是否需要线上培训 0、需要、1不需要
    /// </summary>
    public int? IsNeedTrain { get; set; }

    /// <summary>
    /// 是否需要线上考试  0、需要、1不需要
    /// </summary>
    public int? IsNeedExam { get; set; }
    /// <summary>
    /// 培训考试主题ID
    /// </summary>
    public Guid TrainingExaminationQuestionBankID { get; set; }
    /// <summary>
    /// 培训参与人员
    /// </summary>
    public string? Participants { get; set; }
    /// <summary>
    /// 培训对象 0会员
    /// </summary>
    public int? TargetGroup { get; set; }
    /// <summary>
    /// 培训时间
    /// </summary>
    public string? Often { get; set; }
    /// <summary>
    /// 讲师
    /// </summary>
    public string? Lecturer { get; set; }
    /// <summary>
    /// 文件上传
    /// </summary>
    public string? Documents { get; set; }
    /// <summary>
    /// 礼品id
    /// </summary>
    public Guid? Giftid { get; set; }
    /// <summary>
    /// 礼品名称
    /// </summary>
    public string? GiftsName { get; set; }
    /// <summary>
    /// 礼品数量
    /// </summary>
    public int? GiftsNum { get; set; }
    /// <summary>
    /// 封面图url
    /// </summary>
    public string? Cover { get; set; }

}
DTO
 public class TrainDTO
 {
     public Guid? TenantId { get; set; }


     /// <summary>
     /// 培训ID,唯一的,不可重复、签到二维码
     /// </summary>
     public string? TrainId { get; set; }

     public string? OrgId { get; set; }

     /// <summary>
     /// 教室ID
     /// </summary>
     public string? TeacherId { get; set; }

     /// <summary>
     /// 培训标题
     /// </summary>
     public string? Title { get; set; }

     /// <summary>
     /// 创建时间
     /// </summary>
     public DateTime? AddTime { get; set; }

     /// <summary>
     /// 结束时间
     /// </summary>
     public DateTime? EndTime { get; set; }

     /// <summary>
     /// 是否启用 0启用 1禁用
     /// </summary>
     public int? IsEnable { get; set; }

     /// <summary>
     /// 是否需要线上培训 0、需要、1不需要
     /// </summary>
     public int? IsNeedTrain { get; set; }

     /// <summary>
     /// 是否需要线上考试  0、需要、1不需要
     /// </summary>
     public int? IsNeedExam { get; set; }
     /// <summary>
     /// 培训考试主题ID
     /// </summary>
     public Guid TrainingExaminationQuestionBankID { get; set; }
     /// <summary>
     /// 培训参与人员
     /// </summary>
     public string? Participants { get; set; }
     /// <summary>
     /// 培训对象 0会员
     /// </summary>
     public int? TargetGroup { get; set; }
     /// <summary>
     /// 培训时间
     /// </summary>
     public string? Often { get; set; }
     /// <summary>
     /// 讲师
     /// </summary>
     public string? Lecturer { get; set; }
     /// <summary>
     /// 文件上传
     /// </summary>
     public List<IFormFile>? AttachFiles { get; set; }
     public string? Documents { get; set; }
     /// <summary>
     /// 礼品id
     /// </summary>
     public Guid? Giftid { get; set; }
     /// <summary>
     /// 礼品名称
     /// </summary>
     public string? GiftsName { get; set; }
     /// <summary>
     /// 礼品数量
     /// </summary>
     public int? GiftsNum { get; set; }
     /// <summary>
     /// 封面图url
     /// </summary>
     public List<IFormFile>? CoverFiles { get; set; }
     public string ? Cover { get; set; }
 }

关键是
public List? AttachFiles { get; set; } 接收前端文件
public string? Documents { get; set; } 保存文件路径到数据库


引用
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;

注入
 private readonly IHostEnvironment _webHostEnvironment;
 private readonly IConfiguration _configuration;
  public TrainAppService(IHostEnvironment webHostEnvironment, IConfiguration configuration)
  {
  _webHostEnvironment = webHostEnvironment;
_configuration = configuration;
  }
  /// <summary>
/// 创建培训
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<bool> AddTrain(TrainDTO input)
{

    //处理文件
    var files = input.AttachFiles;
    var files2 = input.CoverFiles;
    if (input.AttachFiles.Count>0)
    {
        var file = input.AttachFiles[0];
        var root = _webHostEnvironment.ContentRootPath;
        var sectionValue = _configuration.GetValue<string>("ContentRootPath");
        if (!string.IsNullOrWhiteSpace(sectionValue))
        {
            root = sectionValue;
        }

        var vdir = $@"file\blmodel\";

        string dir = Path.Combine(root, vdir);

        if (!Directory.Exists(dir))
        {
            Directory.CreateDirectory(dir);
        }
        var Extension = Path.GetExtension(file.FileName);
        var newName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + Extension;
        string FilePath = dir + newName;
        using (FileStream fs = System.IO.File.Create(dir + newName))
        {
            file.CopyTo(fs);
            fs.Flush();
        }
        input.Documents = dir + newName;

    }


    映射添加
    Train train = ObjectMapper.Map<TrainDTO, Train>(input);
    var obj = await Repository.InsertAsync(train);
    if (obj != null)
    {
        return true;
    }
    return false;
}
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值