在創(chuàng)建一個新的 WebAPI 項目之前,確保已經(jīng)安裝了 .NET Core SDK。下面是一個創(chuàng)建并實現(xiàn)上傳文件接口功能的示例。
打開終端或命令提示符,導(dǎo)航到想要創(chuàng)建項目的目錄。
執(zhí)行以下命令來創(chuàng)建一個新的 WebAPI 項目:
dotnet new webapi -n MyFileUploadApi
這將創(chuàng)建一個名為 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);
// 創(chuàng)建文件夾
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
類型的參數(shù),該參數(shù)將包含上傳的文件。
保存文件并退出編輯器。
將項目運行起來:
dotnet run
這將啟動一個本地的開發(fā)服務(wù)器,監(jiān)聽 https://localhost:5001
和 http://localhost:5000
。
POST
請求到 https://localhost:5001/FileUpload
(或 http://localhost:5000/FileUpload
),并將文件作為請求體的一部分上傳。注意:確保 Content-Type
設(shè)置為 multipart/form-data
。
在 Postman 中,你可以選擇 Body
選項卡,在 form-data
類型下添加一個 Key
為 file
的字段,然后選擇一個文件作為 Value
。
200 OK
響應(yīng)。這樣,你就成功創(chuàng)建了一個具有上傳文件接口功能的 WebAPI 項目。你可以根據(jù)自己的需要進行擴展和定制。