//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;
}
c#实现前端接受图片文件文件并保存(基于frion框架)
最新推荐文章于 2024-07-20 17:30:58 发布