"Our aim is to solve the problem of unreliable file uploads once and for all. tus is a new open protocol for resumable uploads built on HTTP. It offers simple, cheap and reusable stacks for clients and servers. It supports any language, any platform and any network." - https://tus.io
BirdMessenger 中文名为:青鸟——相传为西王母的信使。 BirdMessnger 是一个基于.NET Standard 的 Tus协议的实现客户端。
- Create
- HEAD
- PATCH
- OPTIONS
- DELETE
Package manager
Install-Package BirdMessenger -Version 2.0.0
.NET CLI
dotnet add package BirdMessenger --version 2.0.0
// file to be uploaded
FileInfo fileInfo = new FileInfo("test.txt");
// remote tus service
var hostUri = new Uri(@"http://localhost:5000/files");
// build a standalone tus client instance
var tusClient = TusBuild.DefaultTusClientBuild(hostUri).Build();
//hook up events
tusClient.UploadProgress += printUploadProcess;
tusClient.UploadFinish += uploadFinish;
//define additional file metadata
MetadataCollection metadata = new MetadataCollection();
metadata["filename"] = fileInfo.FullName;
//create upload url
var fileUrl = await tusClient.Create(fileInfo, metadata);
//upload file
var uploadResult = await tusClient.Upload(fileUrl, fileInfo);- You can see more examples in unit tests
Development is done on the 'dev' branch.