Skip to content

Tus Java server demo with asynchronous and resumable file uploads in Spring Boot

License

Notifications You must be signed in to change notification settings

tmurdianto/tus-java-server-spring-demo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tus-java-server-spring-demo

Tus java server demo using Spring Boot that uses the tus-java-server library and the Uppy file uploader in order to easily provide asynchronous and resumable file uploads in Spring.

To build and run this demo, execute the following commands:

$ git clone https://github.com/tomdesair/tus-java-server-spring-demo.git
$ cd tus-java-server-spring-demo
$ mvn clean package
$ java -jar spring-boot-rest/target/spring-boot-rest-0.0.1-SNAPSHOT.jar

Then visit http://localhost:8080/test/ in your browser and try to upload a file using the Uppy file uploader.

Que?

  • Module spring-boot-rest provides the API backend for receiving tus file uploads:

    1. Method me.desair.spring.tus.App#tusFileUploadService create a TusFileUploadService Spring bean based on the Spring Boot configuration that can be auto-wired into other beans.
    2. The me.desair.spring.tus.FileUploadController provides the /api/upload endpoint and passes all request directly to that TusFileUploadService bean.
    3. Class me.desair.spring.tus.client.UploadScript is a script to upload a file using the tus-java-client library and can be ignored.
    4. File src/main/resources/public/index.html contains the actual home page and loads the Uppy JavaScript file generated by the uppy-file-upload module.
  • Module uppy-file-upload contains the Webpack and Uppy configuration to fetch and join all required JavaScript files. This is not a production ready setup!

    1. File uppy-file-upload/app/uppy-fileupload.js contains the configuration parameters of the Uppy tus JS client.

About

Tus Java server demo with asynchronous and resumable file uploads in Spring Boot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 75.7%
  • JavaScript 20.2%
  • HTML 4.1%