已解决
.net 7 上传文件踩坑
来自网友在路上 163863提问 提问时间:2023-10-31 00:47:53阅读次数: 63
最佳答案 问答题库638位专家为你答疑解惑
(Name = “file”)
没加上这个传不进文件
/// <summary>/// 上传单个文件/// </summary>/// <param name="formFile"></param>/// <returns></returns>[HttpPost("UploadFiles")][FunctionAttribute(MuType.Btn, "上传单个文件")]public async Task<JsonResult> UploadFiles([FromForm(Name = "file")] IFormFile formFile){var suffix = Path.GetExtension(formFile.FileName);var fileNmae = formFile.FileName;var filePaths = GetFileName(FileType.ProfilePhotoFileUpload, suffix);if (!Directory.Exists(Path.GetDirectoryName(filePaths.Item1))){Directory.CreateDirectory(Path.GetDirectoryName(filePaths.Item1));}try{using FileStream fileStream = System.IO.File.Create(filePaths.Item1);await formFile.CopyToAsync(fileStream);return await Task.FromResult(new JsonResult(new JsonResult(new ApiDataResult<string>(){Success = true,Message = "文件上传成功",Data = $"{filePaths.Item2}" //返回的文件保存地址,用作保存数据库的})));}catch (Exception ex){return await Task.FromResult(new JsonResult(new JsonResult(new ApiDataResult<string>(){Message = "文件上传失败了"})));}}/// <summary>/// 统一文件命名 类型文件夹名/年月日/yyyyMMddHHmmss_guid.后缀/// </summary>/// <param name="fileType">存储文件夹的名字</param>/// <param name="suffix">文件后缀</param>/// <returns>第一个返回值(绝对路径),第二个返回值(相对路径)</returns>private static (string, string) GetFileName(FileType fileType, string suffix){string saveFilePath = $"{fileType.ToString()}\\{DateTime.Now.ToString("yyyyMMdd")}\\{DateTime.Now.ToString("yyyyMMddHHmmss")}_{Guid.NewGuid().ToString().ToUpper()}{suffix}";string allFilePaht = $"{Directory.GetCurrentDirectory()}\\{saveFilePath}";return (allFilePaht, saveFilePath);}
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文".net 7 上传文件踩坑":http://eshow365.cn/6-28162-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!