摘要:實現協議實現文件斷點上傳關于協議提供一種基于和機制用于文件斷點續傳。請求請求當前文件的服務器信息,返回文件大小和當前進度。請求上傳文件,寫入磁盤系統。是最簡單的一個文件上傳頁面。參考文獻關于協議本文中用到的關于請求
Spring Boot實現TUS協議實現文件斷點上傳 關于Tus
TUS協議提供一種基于 HTTP/1.1 和 HTTP/2 機制用于文件斷點續傳。舉例
HEAD請求用來查詢某個文件上傳進度使用
下面例子中一個文件總共100個Byte,已經傳輸了70個Byte,所有交互內容都在HTTP請求頭中。
HEAD Request:
HEAD /files/24e533e02ec3bc40c387f1a0e460e216 HTTP/1.1 Host: tus.example.org Tus-Resumable: 1.0.0
Response:
HTTP/1.1 200 OK Upload-Offset: 70 Tus-Resumable: 1.0.0
拿到Upload-Offset, 使用PATCH方式請求繼續傳輸文件的未完成部分。
PATCH Request:
PATCH /files/24e533e02ec3bc40c387f1a0e460e216 HTTP/1.1 Host: tus.example.org Content-Type: application/offset+octet-stream Content-Length: 30 Upload-Offset: 70 Tus-Resumable: 1.0.0 [remaining 30 bytes]
Response:
HTTP/1.1 204 No Content Tus-Resumable: 1.0.0 Upload-Offset: 100
以上就完成了傳輸。
請求類型
OPTIONS請求
主要是獲取協議描述,支持的各種參數,協議細節,其實tus使用Header來進行服務器和客戶端信息交互,OPTIONS需要實現兩個Action,一個用于總的協議描述,另一個可以獲取到當前文件的上傳進度Offset。
POST請求
當有新文件需要上傳時候,注冊文件信息,文件名,文件大小,這些內容,tus-js-client的文件名是Base64格式的。
HEAD請求
請求當前文件的服務器信息,返回文件大小和當前進度。
PATCH請求
上傳文件,寫入磁盤系統。
Get請求
下載文件,根據guid
DELETE請求
刪除文件大致流程
流程見下圖,不解釋了
客戶端客戶端本文使用js-tus-client項目,這個項目本地自行啟動,有node.js環境的,如下:
npm install -g http-server cd html http-server .
然后打開瀏覽器8080端口,就可以看到頁面了。
Simple.html 是最簡單的一個文件上傳頁面demo。
其他都是js-tus-client的內容。
tus需要本地瀏覽器中存儲已經上傳的文件信息,這些js-tus-client都已經實現。
Github地址https://github.com/freew01f/t...
代碼都在這里了,這里就不解釋了,如果你想修改上傳的endpoint地址,你需要在POST方法創建時修改,因為這個url會存在本地瀏覽器中。
參考文獻關于TUS協議 https://tus.io/protocols/resu...
本文中用到的js client https://github.com/tus/tus-js...
關于OPTIONS請求 https://developer.mozilla.org...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72522.html
摘要:為什么使用最近用到了來完成文件上傳的操作,踩了一些坑,對比了一些的組件,發現了一個很好用的組件再說說為什么選用這個組件,對比和的上傳組件,它能做到更多的事情,比如可暫停繼續上傳上傳隊列管理,支持最大并發上傳分塊上傳支持進度預估 為什么使用Vue-Simple-Uploader 最近用到了Vue + Spring Boot來完成文件上傳的操作,踩了一些坑,對比了一些Vue的組件,發現了一...
摘要:本文介紹如何在中開發接口,以及接口如何同時支持和兩種協議。該功能很簡單,就是通過一個人的姓名查詢這個人的詳細信息。就是關鍵,如本次請求報文如下就是,對應。測試使用進行測試,通過地址導入文件進行測試。測試這樣就實現了和同時提供的目的。 介紹spring boot web模塊提供了RestController實現restful,第一次看到這個名字的時候以為還有SoapController,...
摘要:有了配置文件之后,啟動程序,我們首先可以看到日志輸入,由此可以看出程序讀取了的配置。首先,根據的全局查找功能,直接搜索這些詞出現的位置,進行定位,可以找到這個日志出現于方法之中。由于我們的配置文件在下,所以只要留意當為的程序執行情況即可。 前言 上文《一文掌握 Spring Boot Profiles》 是對 Spring Boot Profiles 的介紹和使用,因此本文將從源碼角度...
閱讀 2861·2021-10-14 09:50
閱讀 1218·2021-10-08 10:21
閱讀 3646·2021-10-08 10:16
閱讀 3063·2021-09-27 14:02
閱讀 3135·2021-09-23 11:21
閱讀 2109·2021-09-07 10:17
閱讀 407·2019-08-30 14:00
閱讀 2105·2019-08-29 17:26