tus-js-client

A pure JavaScript client for the tus resumable upload protocol

Github stars Tracking Chart

tus-js-client

tus is a protocol based on HTTP for resumable file uploads. Resumable
means that an upload can be interrupted at any moment and can be resumed without
re-uploading the previous data again. An interruption may happen willingly, if
the user wants to pause, or by accident in case of an network issue or server
outage.

tus-js-client is a pure JavaScript client for the tus resumable upload protocol and can be used inside browsers, Node.js,
React Native and Apache Cordova applications.

Protocol version: 1.0.0

This branch contains tus-js-client v2. If you are looking for the previous major release, after which breaking changes have been introduced, please look at the v1.8.0 tag.

Example

input.addEventListener("change", function(e) {
    // Get the selected file from the input element
    var file = e.target.files[0]

    // Create a new tus upload
    var upload = new tus.Upload(file, {
        endpoint: "http://localhost:1080/files/",
        retryDelays: [0, 3000, 5000, 10000, 20000],
        metadata: {
            filename: file.name,
            filetype: file.type
        },
        onError: function(error) {
            console.log("Failed because: " + error)
        },
        onProgress: function(bytesUploaded, bytesTotal) {
            var percentage = (bytesUploaded / bytesTotal * 100).toFixed(2)
            console.log(bytesUploaded, bytesTotal, percentage + "%")
        },
        onSuccess: function() {
            console.log("Download %s from %s", upload.file.name, upload.url)
        }
    })

    // Start the upload
    upload.start()
})

Documentation

Build status

Build Status

License

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

Main metrics

Overview
Name With Ownertus/tus-js-client
Primary LanguageJavaScript
Program languageHTML (Language Count: 4)
Platform
License:MIT License
所有者活动
Created At2015-04-06 17:11:33
Pushed At2025-07-02 07:10:48
Last Commit At
Release Count51
Last Release Name5.0.0-pre1 (Posted on )
First Release Namev1.1.0 (Posted on 2015-11-14 16:22:39)
用户参与
Stargazers Count2.4k
Watchers Count37
Fork Count331
Commits Count773
Has Issues Enabled
Issues Count333
Issue Open Count45
Pull Requests Count343
Pull Requests Open Count12
Pull Requests Close Count100
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private