在創建一個新的 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 項目。你可以根據自己的需要進行擴展和定制。