C# Webapi 写一个接口 接口接收文件名称 在文件夹中奖文件删除
时间: 2024-10-16 09:13:54 浏览: 7
在C#中,你可以创建一个Web API接口来处理文件删除操作。首先,你需要安装Microsoft.AspNetCore.Mvc.NewtonsoftJson NuGet包以支持JSON序列化。下面是一个简单的例子,展示如何定义一个接受文件名并删除对应文件的API:
```csharp
using Microsoft.AspNetCore.Mvc;
using System.IO;
[ApiController]
public class FileController : ControllerBase
{
[HttpPost("deletefile")]
public IActionResult DeleteFile([FromBody] string fileName)
{
try
{
// 检查请求是否包含有效的文件名
if (string.IsNullOrEmpty(fileName))
{
return BadRequest("Please provide a non-empty file name.");
}
// 定义要删除文件的路径,这里假设它是在服务器根目录的uploads文件夹下
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "uploads", fileName);
// 检查文件是否存在
if (!File.Exists(filePath))
{
return NotFound($"File with the name {fileName} not found.");
}
// 删除文件
File.Delete(filePath);
return Ok("File deleted successfully.");
}
catch (Exception ex)
{
return StatusCode((int)HttpStatusCode.InternalServerError, $"Error deleting file: {ex.Message}");
}
}
}
```
在这个示例中,`DeleteFile`方法接收一个名为`fileName`的POST请求参数。它首先检查文件名是否为空,然后尝试找到指定文件并删除。如果文件不存在或者在删除过程中发生错误,API将返回适当的HTTP状态码和消息。
要测试这个接口,你需要通过HTTP客户端发送一个包含有效文件名的POST请求到`/api/file/deletefile`。
阅读全文