All Projects → tusdotnet → Tusdotnet

tusdotnet / Tusdotnet

Licence: mit
.NET server implementation of the Tus protocol for resumable file uploads. Read more at https://tus.io

Projects that are alternatives of or similar to Tusdotnet

Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (-59.4%)
Mutual labels:  dotnet-standard, nuget, dotnet-core
Sharpsnmplib
Sharp SNMP Library- Open Source SNMP for .NET and Mono
Stars: ✭ 247 (-17.11%)
Mutual labels:  dotnet-standard, dotnet-core
Mongo2go
Mongo2Go - MongoDB for integration tests (.NET Core)
Stars: ✭ 240 (-19.46%)
Mutual labels:  dotnet-standard, dotnet-core
covidtrackerapiwrapper
CovidSharp is a crossplatform C# API wrapper for the Coronavirus tracking API (https://github.com/ExpDev07/coronavirus-tracker-api)
Stars: ✭ 11 (-96.31%)
Mutual labels:  nuget, dotnet-standard
Fluentresults
A generalised Result object implementation for .NET/C#
Stars: ✭ 266 (-10.74%)
Mutual labels:  dotnet-standard, dotnet-core
Sharpyaml
SharpYaml is a .NET library for YAML compatible with CoreCLR
Stars: ✭ 217 (-27.18%)
Mutual labels:  dotnet-standard, dotnet-core
Pluralize.NET
📘 Pluralize or singularize any English word.
Stars: ✭ 50 (-83.22%)
Mutual labels:  nuget, dotnet-standard
Command Line Api
Command line parsing, invocation, and rendering of terminal output.
Stars: ✭ 2,418 (+711.41%)
Mutual labels:  dotnet-standard, dotnet-core
cv4pve-api-dotnet
Proxmox VE Client API .Net C#
Stars: ✭ 25 (-91.61%)
Mutual labels:  nuget, dotnet-standard
Mockqueryable
Moking Entity Framework Core operations such ToListAsync, FirstOrDefaultAsync etc
Stars: ✭ 281 (-5.7%)
Mutual labels:  dotnet-standard, dotnet-core
PokemonBattleEngine
A C# library that can emulate Pokémon battles.
Stars: ✭ 92 (-69.13%)
Mutual labels:  dotnet-core, dotnet-standard
Entityframework Extensions
Entity Framework Bulk Operations | Improve Entity Framework performance with Bulk SaveChanges, Insert, update, delete and merge for SQL Server, SQL Azure, SQL Compact, MySQL and SQLite.
Stars: ✭ 215 (-27.85%)
Mutual labels:  dotnet-standard, dotnet-core
Corehook
A library that simplifies intercepting application function calls using managed code and the .NET Core runtime
Stars: ✭ 191 (-35.91%)
Mutual labels:  dotnet-standard, dotnet-core
Spectre.console
A .NET library that makes it easier to create beautiful console applications.
Stars: ✭ 4,226 (+1318.12%)
Mutual labels:  dotnet-standard, dotnet-core
Rafty
Implementation of RAFT consensus in .NET core
Stars: ✭ 182 (-38.93%)
Mutual labels:  dotnet-standard, dotnet-core
PortaCapena.OdooJsonRpcClient
Odoo Client Json Rpc
Stars: ✭ 39 (-86.91%)
Mutual labels:  nuget, dotnet-standard
Serilog.exceptions
Log exception details and custom properties that are not output in Exception.ToString().
Stars: ✭ 282 (-5.37%)
Mutual labels:  nuget, dotnet-core
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+566.44%)
Mutual labels:  dotnet-standard, dotnet-core
Dotnet Etcd
A C# .NET (dotnet) GRPC client for etcd v3 +
Stars: ✭ 157 (-47.32%)
Mutual labels:  dotnet-standard, dotnet-core
HardwareInformation
.NET Standard Cross-Platform Hardware Information Gatherer
Stars: ✭ 37 (-87.58%)
Mutual labels:  nuget, dotnet-standard

tusdotnet

NuGet NuGet codecov

"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

tusdotnet is a .NET server implementation of the tus.io protocol that runs on both .NET 4.x and .NET Core!

Comments, ideas, questions and PRs are welcome :)

Features

  • Runs on OWIN and ASP.NET Core (on both .NET Framework and .NET Core)
  • Full support for tus 1.0.0 including all major extensions (checksum, concatenation, creation, upload-defer-length, expiration and termination)
  • Fast and reliable
  • Easy to configure
  • Customizable data storage
  • MIT licensed

Install

Visual Studio

PM> Install-Package tusdotnet

.NET CLI

> dotnet add tusdotnet

Configure

Create your Startup class as you would normally do. Add a using statement for tusdotnet and run UseTus on the app builder. More options and events are available on the wiki.

app.UseTus(httpContext => new DefaultTusConfiguration
{
    // c:\tusfiles is where to store files
    Store = new TusDiskStore(@"C:\tusfiles\"),
    // On what url should we listen for uploads?
    UrlPath = "/files",
    Events = new Events
    {
        OnFileCompleteAsync = async eventContext =>
        {
            ITusFile file = await eventContext.GetFileAsync();
            await DoSomeProcessing(file);
        }
    }
});

Test sites

If you just want to play around with tusdotnet/the tus protocol, clone the repo and run one of the test sites. They each launch a small site running tusdotnet and the official JS client so that you can test the protocol on your own machine.

Test sites are available for:

  • ASP.NET Core 3.1 (.NET Core 3.1)
  • ASP.NET Core 3.0 (.NET Core 3.0)
  • ASP.NET Core 2.2 (.NET Core 2.2)
  • ASP.NET Core 2.1 (.NET Core 2.1)
  • ASP.NET Core 2.0 (.NET Framework 4.6.2)
  • ASP.NET Core 1.1 (.NET Core 1.1)
  • OWIN (.NET Framework 4.5.2)

Clients

Tus.io keeps a list of clients for a number of different platforms (Android, Java, JS, iOS etc). tusdotnet should work with all of them as long as they support version 1.0.0 of the protocol.

License

This project is licensed under the MIT license, see LICENSE.

Want to know more?

Check out the wiki, create an issue or contact me :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].