1. 程式人生 > >Ubuntu開發環境 go語言操作FastDFS

Ubuntu開發環境 go語言操作FastDFS

下載包 :

             go get github.com/weilaihui/fdfs_client

         注意:(未做科學上網的朋友)我們的網路有防火牆,不能直接去google下載相應的包 ;

         解決辦法:

  1. ~/workspace/go/src目錄下面建立一個golang.org/x目錄
  2. 在golang.org/x目錄下載
    git clone https://github.com/golang/crypto.git
    git clone https://github.com/golang/sys.git
  3. 執行下載:go get github.com/weilaihui/fdfs_client

go操作fastDFS的方法 :

  1. 匯入包 :import "github.com/weilaihui/fdfs_client"
  2. 指定配置檔案生成客戶端物件 :
    client,_:=fdfs_client.NewFdfsClient("/etc/fdfs/client.conf")
  3. 通過client物件執行檔案上傳,上傳有兩種方法,一種是通過檔名,一種是通過位元組流 .

           通過檔名上傳UploadByFilename ,引數是檔名(必須通過檔名能找到要上傳的檔案),返回值是fastDFS定義的一個結構體,包含組名和檔案ID兩部分內容:

                fdfsresponse,err := client.UploadByFilename("flieName")

          通過位元組流上傳UploadByBuffer,引數是位元組陣列和檔案字尾,返回值和通過檔名上傳一樣:

               fdfsresponse,err := client.UploadByBuffer(fileBuffer,ext)

示例:


//建立檔案緩衝區
   fBuffer := make([]byte,檔案大小)
//把檔案資料讀入到fBuffer中 f為檔案流指標
   f.Read(fBuffer)
//獲取client物件
   client := fdfs_client.NewFdfsClient("/etc/fdfs/client.conf")
//上傳
   fdfsresponse,_:=client.UploadByBuffer(fileBuffer,ext)
//返回檔案ID 類似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg
   return fdfsresponse.RemoteFileId