C# WebAPI上传视频
时间: 2024-02-05 21:07:59 浏览: 121
以下是C# WebAPI上传视频的示例代码:
```csharp
[HttpPost("uploadVideo")]
public async Task<IActionResult> UploadVideo(IFormFile video)
{
if (video == null || video.Length == 0)
{
return BadRequest("No video file found");
}
// 保存视频文件到服务器
var filePath = Path.Combine(_hostingEnvironment.ContentRootPath, "uploads", video.FileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await video.CopyToAsync(stream);
}
return Ok("Video uploaded successfully");
}
```
在上面的代码中,我们首先检查上传的文件是否为空,如果为空则返回BadRequest。然后,我们将视频文件保存到服务器上的指定路径中。最后,我们返回一个成功的响应。
需要注意的是,我们在方法的参数中使用了IFormFile类型的video参数,这是ASP.NET Core中用于处理文件上传的类型。
相关问题
C# WebAPI2.0上传视频
以下是C# WebAPI2.0上传视频的示例代码:
1. WebAPI端代码
```csharp
[HttpPost]
public async Task<IActionResult> UploadVideo()
{
var file = Request.Form.Files[0];
var filePath = "your file path"; // 设置文件保存路径
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
return Ok();
}
```
2. C#客户端代码
```csharp
public async Task UploadVideo(string filePath)
{
using (var client = new HttpClient())
{
using (var content = new MultipartFormDataContent())
{
using (var fileStream = new FileStream(filePath, FileMode.Open))
{
content.Add(new StreamContent(fileStream), "file", Path.GetFileName(filePath));
var response = await client.PostAsync("your WebAPI url", content);
if (!response.IsSuccessStatusCode)
{
throw new Exception("上传失败");
}
}
}
}
}
```
注意:在WebAPI端代码中,需要设置文件保存路径;在C#客户端代码中,需要将文件流添加到MultipartFormDataContent中,并指定文件名和WebAPI的URL。
C#ApiController上传视频
以下是C# ApiController上传视频的代码示例:
```csharp
// 引入命名空间
using System.Web;
using System.Web.Http;
using System.IO;
public class VideoController : ApiController
{
// POST api/video
public IHttpActionResult Post()
{
// 检查是否有文件上传
if (HttpContext.Current.Request.Files.Count == 0)
{
return BadRequest("No files received.");
}
// 获取上传的文件
var file = HttpContext.Current.Request.Files[0];
// 检查文件类型是否允许上传
var allowedFileTypes = new[] { "mp4", "avi", "mov" }; // 允许上传的文件类型
var fileExtension = Path.GetExtension(file.FileName).Substring(1); // 获取文件扩展名
if (!allowedFileTypes.Contains(fileExtension))
{
return BadRequest("File type not allowed.");
}
// 保存文件到服务器
var fileName = Path.GetFileName(file.FileName); var filePath = HttpContext.Current.Server.MapPath("~/App_Data/" + fileName);
file.SaveAs(filePath);
// 返回成功信息
return Ok("File uploaded successfully.");
}
}
```
注意:上述代码仅供参考,实际应用中需要根据具体需求进行修改。
阅读全文