All Projects → eventials → Go Tus

eventials / Go Tus

Licence: mit
A pure Go client for the tus resumable upload protocol

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Go Tus

Uploadcare Php
PHP API client that handles uploads and further operations with files by wrapping Uploadcare Upload and REST APIs.
Stars: ✭ 77 (-26.67%)
Mutual labels:  upload, uploader
Angular File Uploader
Angular file uploader is an Angular 2/4/5/6/7/8/9/10 + file uploader module with Real-Time Progress Bar, Responsive design, Angular Universal Compatibility, localization and multiple themes which includes Drag and Drop and much more.
Stars: ✭ 92 (-12.38%)
Mutual labels:  upload, uploader
RxUploader
Uploader for Android using RxJava
Stars: ✭ 72 (-31.43%)
Mutual labels:  upload, uploader
filestack-ios
Official iOS SDK for Filestack - API and content management system that makes it easy to add powerful file uploading and transformation capabilities to any web or mobile application.
Stars: ✭ 44 (-58.1%)
Mutual labels:  upload, uploader
Chibisafe
Blazing fast file uploader and awesome bunker written in node! 🚀
Stars: ✭ 657 (+525.71%)
Mutual labels:  upload, uploader
google-music-manager-uploader
Google Music Manager Uploader module / Easily upload MP3 (folder) to Google Music
Stars: ✭ 21 (-80%)
Mutual labels:  upload, uploader
lolisafe
Blazing fast file uploader and awesome bunker written in node! 🚀
Stars: ✭ 181 (+72.38%)
Mutual labels:  upload, uploader
Cakephp File Storage
Abstract file storage and upload plugin for CakePHP. Write to local disk, FTP, S3, Dropbox and more through a single interface. It's not just yet another uploader but a complete storage solution.
Stars: ✭ 202 (+92.38%)
Mutual labels:  upload, uploader
Gphotos Uploader Cli
Command line tool to mass upload media folders to your google photos account(s) (Mac OS / Linux)
Stars: ✭ 502 (+378.1%)
Mutual labels:  upload, uploader
ShareX-CDN
Basic image, text & file uploader CDN for ShareX
Stars: ✭ 22 (-79.05%)
Mutual labels:  upload, uploader
blobUpload
Uses file slice to upload large files. Newer version https://github.com/apivideo/uploadavideoApps. From api.video (https://api.video)
Stars: ✭ 19 (-81.9%)
Mutual labels:  upload, uploader
Droply Js
Droply JS, a new responsive and cross browser chunk uploader with DragDrop and File Preview capabilities (HTML5/CSS3)
Stars: ✭ 50 (-52.38%)
Mutual labels:  upload, uploader
react-native-tus-client
React Native client for the tus resumable upload protocol.
Stars: ✭ 38 (-63.81%)
Mutual labels:  upload, uploader
React Images Uploading
The simple images uploader applied Render Props pattern that allows you to fully control UI component and behaviors.
Stars: ✭ 80 (-23.81%)
Mutual labels:  upload, uploader
Vue Transmit
Vue.js drag & drop uploader based on Dropzone.js
Stars: ✭ 209 (+99.05%)
Mutual labels:  upload, uploader
ic-firebase-uploader
This component is a multi-file uploader for firebase
Stars: ✭ 21 (-80%)
Mutual labels:  upload, uploader
Uploadcare Widget
Uploadcare Widget, an ultimate tool for HTML5 file upload supporting multiple file upload, drag&drop, validation by file size/file extension/MIME file type, progress bar for file uploads, image preview.
Stars: ✭ 183 (+74.29%)
Mutual labels:  upload, uploader
Vue Upload Component
Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter
Stars: ✭ 2,422 (+2206.67%)
Mutual labels:  upload, uploader
angular-material-datatransfer
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
Stars: ✭ 13 (-87.62%)
Mutual labels:  upload, uploader
Upload
文件上传功能
Stars: ✭ 8 (-92.38%)
Mutual labels:  upload, uploader

go-tus Build Status Go Report Card GoDoc

A pure Go client for the tus resumable upload protocol

Example

package main

import (
    "os"
    "github.com/eventials/go-tus"
)

func main() {
    f, err := os.Open("my-file.txt")

    if err != nil {
        panic(err)
    }

    defer f.Close()

    // create the tus client.
    client, _ := tus.NewClient("https://tus.example.org/files", nil)

    // create an upload from a file.
    upload, _ := tus.NewUploadFromFile(f)

    // create the uploader.
    uploader, _ := client.CreateUpload(upload)

    // start the uploading process.
    uploader.Upload()
}

Features

This is not a full protocol client implementation.

Checksum, Termination and Concatenation extensions are not implemented yet.

This client allows to resume an upload if a Store is used.

Built in Store

Store is used to map an upload's fingerprint with the corresponding upload URL.

Name Backend Dependencies
MemoryStore In-Memory None
LeveldbStore LevelDB goleveldb

Future Work

  • [ ] SQLite store
  • [ ] Redis store
  • [ ] Memcached store
  • [ ] Checksum extension
  • [ ] Termination extension
  • [ ] Concatenation extension
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].