huxinghai / fastdfs-client-ruby

fastdfs client for ruby

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fastdfs-client-ruby

fastdfs client for ruby

Install

gem install 'fastdfs-client'

Using

  
  require 'fastdfs-client'

  # return the result format 
  #  {status: true, err_msg: "", result: ...}
  #


  tracker = Fastdfs::Client::Tracker.new(trackers: {host: "192.168.1.1", port: "22122"})

  # multiple trackers server
  # trackers: [
  #  {host: "192.168.1.1", port: "22122"},
  #  {host: "192.168.1.2", port: "22122"}
  # ]

  # socket connection KEEPALIVE
  tracker.pipeline do |s| 
    files.each do |file|
      s.upload(s)
    end
  end

  # @file class includes [File, Tempfile, ActionDispatch::Http::UploadedFile]
  @tracker.upload(@file)
  #result: {group_name: "group1", path: "m1/xfsd/fds.jpg"}

  @tracker.delete(path, group_name)  

  # flag params [cover, merge]
  @tracker.set_metadata(path, group_name, {author: "kaka", width: "300"}, flag)

  @tracker.get_metadata(path, group_name) 
  #result: {author: "kaka", width: "300"}

  @tracker.download(path, group_name) 
  #result: #<Tempfile:/var/folders/m7/bt2j0rk54x555t44dpn4b7bm0000gn/T/test.jpg20160416-43738-1560vq3>  

Make compatible 1.x version

  @storage = tracker.get_storage
  
  @storage.upload ...
  @storage.delete ...
  @storage.set_metadata ...
  @storage.get_metadata ...
  @storage.download ...

Contributing

Bug report or pull request are welcome.

License

MIT License

About

fastdfs client for ruby


Languages

Language:Ruby 100.0%