在创建一个新的 WebAPI 项目之前,确保已经安装了 .NET Core SDK。下面是一个创建并实现上传文件接口功能的示例。
打开终端或命令提示符,导航到想要创建项目的目录。
执行以下命令来创建一个新的 WebAPI 项目:
dotnet new webapi -n MyFileUploadApi
这将创建一个名为 MyFileUploadApi
的新的 WebAPI 项目。
cd MyFileUploadApi
打开 Controllers
文件夹,并编辑 WeatherForecastController.cs
文件。
删除默认生成的代码,替换为以下代码:
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.IO;
using System.Threading.Tasks;
namespace MyFileUploadApi.Controllers
{
[ApiController]
[Route("[controller]")]
public class FileUploadController : ControllerBase
{
[HttpPost]
public async Task<IActionResult> Post(IFormFile file)
{
try
{
if (file == null || file.Length == 0)
return BadRequest("No file uploaded.");
// 文件存储路径
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Uploads", file.FileName);
// 创建文件夹
Directory.CreateDirectory(Path.GetDirectoryName(filePath));
// 保存文件
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
return Ok("File uploaded successfully.");
}
catch (Exception ex)
{
return StatusCode(500, $"Internal server error: {ex}");
}
}
}
}
这个控制器类中包含一个 Post
方法,用于处理上传文件的请求。它将接收一个 IFormFile
类型的参数,该参数将包含上传的文件。
保存文件并退出编辑器。
将项目运行起来:
dotnet run
这将启动一个本地的开发服务器,监听 https://localhost:5001
和 http://localhost:5000
。
POST
请求到 https://localhost:5001/FileUpload
(或 http://localhost:5000/FileUpload
),并将文件作为请求体的一部分上传。注意:确保 Content-Type
设置为 multipart/form-data
。
在 Postman 中,你可以选择 Body
选项卡,在 form-data
类型下添加一个 Key
为 file
的字段,然后选择一个文件作为 Value
。
200 OK
响应。这样,你就成功创建了一个具有上传文件接口功能的 WebAPI 项目。你可以根据自己的需要进行扩展和定制。