1. 程式人生 > 實用技巧 >gofastdfs中的檔案地址置換

gofastdfs中的檔案地址置換

在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 為上面返回地址中,最後的字串值。

另外注意設定檔名。否則下載的內容為二進位制檔案,不帶副檔名的。