C#写webservice接口批量上传MP4文件的代码
时间: 2024-09-27 18:17:15 浏览: 10
在C#中,创建一个WebService接口用于批量上传MP4文件通常涉及到Web API和文件处理。以下是一个简单的示例,展示如何创建一个基本的WebService来接受POST请求并接收文件数据:
首先,你需要安装`Microsoft.AspNetCore.Mvc.NewtonsoftJson` NuGet包,以便支持JSON序列化。
1. 创建一个名为`MyWebService.cs`的控制器,添加以下内容:
```csharp
using System;
using System.IO;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
[Route("api/[controller]")]
public class MyWebServiceController : ControllerBase
{
[HttpPost]
public IActionResult BatchUpload([FromForm] UploadRequest[] requests)
{
if (requests == null || requests.Length == 0)
{
return BadRequest("No files received.");
}
try
{
foreach (var request in requests)
{
var filePath = Path.Combine(Server.MapPath("~/uploads"), $"{request.FileName}");
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await fileStream.WriteAsync(request.FileContent);
}
// 这里可以添加一些日志记录或者其他处理操作
Console.WriteLine($"Uploaded file: {filePath}");
}
return Ok("Files uploaded successfully.");
}
catch (Exception ex)
{
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
}
}
public class UploadRequest
{
public string FileName { get; set; }
public byte[] FileContent { get; set; }
}
}
```
这个控制器有一个`BatchUpload`方法,它接受一个`UploadRequest`数组作为POST请求体。每个`UploadRequest`包含文件名和文件内容。注意,这只是一个基本示例,实际生产环境中你可能需要添加验证、错误处理和更复杂的文件管理机制。