c#实现前端接受图片文件文件并保存(基于frion框架)

//api接口类  
public class SqueezePage: IDynamicApiController
  {
      private readonly ISqueezePage _isqueezePage;
      public SqueezePage(ISqueezePage isqueezePage)
      {
          _isqueezePage = isqueezePage;
      }
      /// <summary>
      /// 保存海报
      /// </summary>
      /// <param name="file"></param>
      /// <returns></returns>
      [HttpPost]
      public async Task<string> AddPosterSave(IFormFile file)
      {
          if (file == null || file.Length == 0)
          {
              return "无文件上传";
          }
          List<string> imgFormat = new List<string>()
          {
              ".jpg",
              ".png",
              ".avi",
              ".jpeg",
              ".gif"
          };
          string suffixName= Path.GetExtension(file.FileName);
          if(!imgFormat.Where(m => m == suffixName).Any())
              return "不支持的格式";

          return await _isqueezePage.AddPosterSave(file);
      }
  }
//接口类
public interface ISqueezePage
{
    //保存海报
    Task<string> AddPosterSave(IFormFile file);

}
//接口的实现类
public class SqueezePage : ISqueezePage ,ITransient
{
    //上传海报
    public async Task<string> AddPosterSave(IFormFile file)
    {
        string error;

        //获取要保存的文件夹地址
        string path = StaticHelper.GetPath();
        if (!Directory.Exists(path)) 
        {
            Directory.CreateDirectory(path);
        }
        string suffixName = Path.GetExtension(file.FileName);
        string filePath = Path.Combine(path, "海报"+ suffixName);
        
        //保存文件到指定地址
        try
        {
            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }
            error = "上传成功";
        }
        catch (Exception e)
        {
            //error = e.Message;

            error = "意料之外的异常情况";
        }

        return error;
    }
}
//工具类
 public static string GetPath()
 {
     // 获取当前类的运行地址
     string currentDirectory = Directory.GetCurrentDirectory();
     //获取父地址
     string parentDirectory = Directory.GetParent(currentDirectory)?.FullName;
     string returnPath = parentDirectory + @"\\BeiFangSale.Application\\Marketing\\UpFile";
     return returnPath;
 }

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值