是的,C# Web API 可以处理文件上传。您可以使用以下方法在 C# Web API 中处理文件上传:
在前端,创建一个包含文件输入字段的 HTML 表单,并设置 enctype 属性为 multipart/form-data。当用户选择文件并提交表单时,浏览器会将文件作为 multipart/form-data 请求的一部分发送到服务器。
在后端,使用 C# Web API 控制器中的 [HttpPost] 属性来处理文件上传请求。在控制器方法中,使用 [FromFormFile] 属性从请求中获取文件。例如:
[HttpPost]
public async Task<IActionResult> UploadFile(IFormFile file)
{
if (file == null || file.Length == 0)
{
return BadRequest("文件不能为空");
}
// 保存文件到服务器
var filePath = Path.Combine(
Directory.GetCurrentDirectory(), "uploads", file.FileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
return Ok("文件上传成功");
}
这些库提供了更高级的文件上传功能,例如文件分块上传、断点续传等。它们通常使用 JavaScript 在前端与 Web API 控制器进行通信。您需要将这些库的 JavaScript 代码嵌入到前端页面中,并根据库的文档配置文件上传参数和行为。
无论使用哪种方法,C# Web API 都可以处理文件上传请求。您可以根据项目需求和用户体验选择合适的方法。