ASP.NET Core IFormFile 上传图片并拼接路径直接访问
上传图片之后,可以拼接一个完整的图片路径,然后可以直接通过该路径打开图片。以下是一个示例代码:
[HttpPost]
public async Task<IActionResult> UploadImage(IFormFile file)
{
// 获取图片文件的扩展名
var fileExtension = Path.GetExtension(file.FileName);
// 生成一个唯一的文件名,可以使用 Guid 或者其他方式生成
var fileName = Guid.NewGuid().ToString() + fileExtension;
// 拼接图片的完整路径
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images", fileName);
// 使用流将文件保存到服务器指定路径
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
// 返回图片的完整路径,供前端直接打开
var imageUrl = "/images/" + fileName;
return Ok(imageUrl);
}
上述代码中,IFormFile 参数 file 是通过 POST 请求上传的图片文件。首先获取文件的扩展名,然后生成一个唯一的文件名,再将文件保存到服务器指定路径。最后,拼接图片的完整路径并返回给前端。
在前端可以通过获取后端返回的完整路径,然后使用 <img> 标签显示图片:
<img src='完整路径' alt='图片'>
其中 '完整路径' 指代后端返回的完整路径。
原文地址: https://www.cveoy.top/t/topic/pJcF 著作权归作者所有。请勿转载和采集!