温馨提示×

新建一个 webapi 项目,并实现上传文件的接口功能

小云
120
2023-09-19 08:14:59
栏目: 编程语言

在创建一个新的 WebAPI 项目之前,确保已经安装了 .NET Core SDK。下面是一个创建并实现上传文件接口功能的示例。

  1. 打开终端或命令提示符,导航到想要创建项目的目录。

  2. 执行以下命令来创建一个新的 WebAPI 项目:

dotnet new webapi -n MyFileUploadApi

这将创建一个名为 MyFileUploadApi 的新的 WebAPI 项目。

  1. 导航到项目目录:
cd MyFileUploadApi
  1. 打开 Controllers 文件夹,并编辑 WeatherForecastController.cs 文件。

  2. 删除默认生成的代码,替换为以下代码:

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 类型的参数,该参数将包含上传的文件。

  1. 保存文件并退出编辑器。

  2. 将项目运行起来:

dotnet run

这将启动一个本地的开发服务器,监听 https://localhost:5001http://localhost:5000

  1. 使用任何 HTTP 请求工具(如 Postman 或 cURL)发送一个 POST 请求到 https://localhost:5001/FileUpload(或 http://localhost:5000/FileUpload),并将文件作为请求体的一部分上传。

注意:确保 Content-Type 设置为 multipart/form-data

在 Postman 中,你可以选择 Body 选项卡,在 form-data 类型下添加一个 Keyfile 的字段,然后选择一个文件作为 Value

  1. 检查控制台输出或返回的响应,在成功上传文件后会返回一个 200 OK 响应。

这样,你就成功创建了一个具有上传文件接口功能的 WebAPI 项目。你可以根据自己的需要进行扩展和定制。

0