gofastdfs中的檔案地址置換
阿新 • • 發佈:2020-10-12
在gofastdfs中,如果是使用斷點續傳,上傳後,獲取的檔案地址要做響應的置換,獲取真正的地址。
先看html的程式碼
<head> <meta charset="utf-8" /> <title>go-fastdfs</title> <link href="https://transloadit.edgly.net/releases/uppy/v0.30.0/dist/uppy.min.css" rel="stylesheet"></head> <body> <div id="stdUpload" style="display:none;"></div> <div> <div id="drag-drop-area"></div> <script src="https://transloadit.edgly.net/releases/uppy/v0.30.0/dist/uppy.min.js"></script> <script>var uppy = Uppy.Core().use(Uppy.Dashboard, { inline: true, target: '#drag-drop-area' }).use(Uppy.Tus, { endpoint: 'http://192.168.1.117:8080/group1/big/upload/' }) uppy.on('complete', (result) => { console.info("result:"+JSON.stringify(result)); // console.log(result) console.log('Upload complete! We’ve uploaded these files:', result.successful) }) uppy.on('file-added', (file) => { //uppy.setFileMeta(file) // meata的內容儲存在header中的Upload-Metadata中,已逗號分隔,key以空格分隔,值用base64加密 //console.info("file:"+JSON.stringify(file)); console.info("file名稱:"+JSON.stringify(file)); uppy.setMeta({ auth_token: '9ee60e59-cb0f-4578-aaba-29b9fc2919ca',callback_url:'http://127.0.0.1/callback',filename:file.name,rename:file.name}) }) //uppy.setMeta({ auth_token: '9ee60e59-cb0f-4578-aaba-29b9fc2919ca',callback_url:'http://127.0.0.1/callback' ,filename:'自定義檔名','path':'自定義path',scene:'自定義場景' })//這裡是傳遞上傳的認證引數,callback_url引數中 id為檔案的ID,info 文轉的基本資訊json //uppy.setMeta({ auth_token: '9ee60e59-cb0f-4578-aaba-29b9fc2919ca',callback_url:'http://127.0.0.1/callback',filename:'b.zip'})//自定義引數與普通上傳類似(雖然支援自定義,建議不要自定義,海量檔案情況下,自定義很可能給自已給埋坑) </script> </div> </body> </html>
上傳後獲取的地址一般為 http://192.168.1.117:8080/group1/big/upload/8d19f01618fde106065f1a2e9e1eafd9這樣。
通過get方法 用下面的地址http://192.168.1.117:8080/group1/upload?md5=8d19f01618fde106065f1a2e9e1eafd9&output=json獲取新的地址。主要新版的gofastdfs預設都會有group1(叢集名)。8d19f01618fde106065f1a2e9e1eafd9 為上面返回地址中,最後的字串值。
另外注意設定檔名。否則下載的內容為二進位制檔案,不帶副檔名的。