/// <summary>
/// 异步图片或文件上传
/// </summary>
/// <param name="formFile"></param>
/// <returns></returns>
[HttpPost]
public async Task<JsonResult> UploadPic(IFormFile formFile)
{
//定义文件夹路径
var FolderPath = $"/UploadFile/{DateTime.Now.ToString("yyyyMMdd")}";
//上传文件重命名 获取上传文件的扩展名
var FilePath = $"/{DateTime.Now.ToString("yyyyMMddHHmmssfff")}{Path.GetExtension(formFile.FileName)}";
//如果 path 指向现有目录,则为 true;如果该目录不存在或者在尝试确定指定目录是否存在时出错,则为 false。
if (!Directory.Exists($"{env.WebRootPath}{FolderPath}"))
//创建新的指定目录
Directory.CreateDirectory($"{env.WebRootPath}{FolderPath}");
//using释放非托管资源 {env.WebRootPath}{FolderPath}{FilePath} 文件路径+文件名称
//FileMode 指定操作系统打开文件的方式
//OpenOrCreate指定操作系统应打开文件(如果文件存在);否则,应创建新文件
using (FileStream fs = new FileStream($"{env.WebRootPath}{FolderPath}{FilePath}", FileMode.OpenOrCreate))
{
//异步获取文件内容
await formFile.CopyToAsync(fs);
}
//返回图片的文件夹路径+名称
return new JsonResult(new
{
FilePath = $"{FolderPath}{FilePath}"
});
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义