阅读量:6
在创建一个新的 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
。
- 使用任何 HTTP 请求工具(如 Postman 或 cURL)发送一个
POST
请求到https://localhost:5001/FileUpload
(或http://localhost:5000/FileUpload
),并将文件作为请求体的一部分上传。
注意:确保 Content-Type
设置为 multipart/form-data
。
在 Postman 中,你可以选择 Body
选项卡,在 form-data
类型下添加一个 Key
为 file
的字段,然后选择一个文件作为 Value
。
- 检查控制台输出或返回的响应,在成功上传文件后会返回一个
200 OK
响应。
这样,你就成功创建了一个具有上传文件接口功能的 WebAPI 项目。你可以根据自己的需要进行扩展和定制。