如果在 ASP.NET MVC 实时版本中上传的 Excel 文件出现错误,可能是由于控制器没有正确地加载相关的库或组件所导致的。解决这个问题的一种方法是在控制器类中添加以下代码示例:
// 安装并导入以下 NuGet 包:
// Microsoft.AspNetCore.Http.Extensions
// Microsoft.AspNetCore.Http.Features
// Microsoft.AspNetCore.WebUtilities
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.WebUtilities;
using System.IO;
public class YourController : Controller
{
public async Task UploadExcel(IFormFile file)
{
if (file != null && file.Length > 0)
{
string fileName = file.FileName;
string contentType = file.ContentType;
var ext = Path.GetExtension(fileName);
if (ext == ".xlsx" || ext == ".xls")
{
var stream = file.OpenReadStream();
var reader = new StreamReader(stream);
var fileContent = await reader.ReadToEndAsync();
// 处理 Excel 文件内容
// ...
return Ok();
}
else
{
return BadRequest("Invalid file format");
}
}
return BadRequest("Invalid file");
}
}
这个例子中,控制器类包含了一个名为“UploadExcel”的 action 方法,它接收一个类型为“IFormFile”的参数。在该方法中,我们首先检查上传的文件是否为 Excel 文件,然后使用“OpenReadStream”方法将文件内容读入字符串,并进行必要的处理。最后,我们返回一个“Ok”结果,以指示上传过程已成功完成。