C# HttpListener 接收到视频保存到本地文件,如果有当前名称的文件则替换,如果没有则新建
时间: 2023-12-04 16:05:36 浏览: 81
可以使用下面的代码来实现:
```csharp
using System;
using System.IO;
using System.Net;
using System.Threading;
class Program
{
static void Main(string[] args)
{
string url = "http://localhost:8080/";
HttpListener listener = new HttpListener();
listener.Prefixes.Add(url);
listener.Start();
Console.WriteLine("Listening on " + url);
while (true)
{
HttpListenerContext context = listener.GetContext();
ThreadPool.QueueUserWorkItem(o =>
{
HttpListenerRequest request = context.Request;
string filename = Path.GetFileName(request.RawUrl);
Console.WriteLine("Received file: " + filename);
using (Stream input = request.InputStream)
{
using (FileStream output = new FileStream(filename, FileMode.Create))
{
input.CopyTo(output);
}
}
HttpListenerResponse response = context.Response;
response.StatusCode = 200;
response.StatusDescription = "OK";
response.Close();
});
}
}
}
```
这个程序会监听 `http://localhost:8080/` 这个地址,并且接收到的文件会保存在程序所在目录下,文件名与请求的 URL 中的文件名相同。如果已经存在同名的文件,则会被替换。
阅读全文