下面是一个使用Asp.Net Core读取文件的示例代码:
首先,您需要在控制器的构造函数中注入IWebHostEnvironment服务:
private readonly IWebHostEnvironment _hostingEnvironment;
public YourController(IWebHostEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
然后,您可以使用IFormFile接口来接收上传的文件。在您的Post方法中添加以下代码:
[HttpPost]
public async Task UploadFile(IFormFile file)
{
if (file != null && file.Length > 0)
{
var filePath = Path.Combine(_hostingEnvironment.ContentRootPath, "uploads", file.FileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
// 文件上传成功后的操作
// ...
return Ok();
}
return BadRequest();
}
在上面的代码中,我们首先检查上传的文件是否存在并且大小大于0。然后,我们使用Path.Combine方法将文件路径连接到“uploads”文件夹下。接下来,我们使用FileStream来创建一个新的文件,并通过调用IFormFile的CopyToAsync方法将上传的文件复制到该位置。
请注意,您需要在项目的根目录中创建一个名为“uploads”的文件夹,以保存上传的文件。您还可以根据需要更改文件的保存位置。
最后,您可以根据需要在文件上传成功后执行其他操作。
希望这个示例能帮到您!
上一篇:ASP.NET Core - 对象使用[HttpPost]的POST请求不起作用
下一篇:asp.net core - entity framework - System.Data.SqlTypes.SqlTypeException: SqlDateTime溢出