Gem 七牛 gem 'qiniu-rs'

miclle · 2013年12月30日 · 最后由 quakewang 回复于 2014年02月13日 · 4716 次阅读

项目版本: rails 4.0.2 ruby 1.9.3p374

按照 README.md 中的做法,在config/initializers/qiniu-rs.rb添加了

Qiniu.establish_connection! :access_key =>'xxxx',
                            :secret_key => 'xxxx'

启动时报错

undefined method `establish_connection!' for Qiniu:Module

我尝试打印p Qiniu.methods 确实没有establish_connection!方法

在 gem /lib/qiniu/rs.rb中有这样的代码

# -*- encoding: utf-8 -*-
require 'qiniu/version'
require 'qiniu/conf'
require 'qiniu/basic/exceptions'
require 'qiniu/basic/utils'
require 'qiniu/auth/digest'
require 'qiniu/io'
require 'qiniu/rs/rs'
require 'qiniu/rs/tokens'


module Qiniu
  class << self

    StatusOK = 200

    def establish_connection! opts = {}
      Qiniu::Conf.initialize_connect opts
    end

  end
end

测试下来是因为没在完全加载 gem lib 下所有文件,我在另一个 rails 3.2.15 的项目中测试也是同样的问题

何解?

@why404

请教 @quakewang 是如何使用七牛的?

我翻了一下代码,我们用的是 Qiniu::RS.establish_connection!

是不是文档问题?

应该是 Qiniu::RS.establish_connection!

看文档应该是这么写的呀 http://docs.qiniutek.com/v1/sdk/ruby/

Qiniu::RS.establish_connection!  :client_id     => YOUR_APP_CLIENT_ID,
                                 :client_secret => YOUR_APP_CLIENT_SECRET

Qiniu::RS.login!(YOUR_QINIU_RS_USERNAME, YOUR_QINIU_RS_PASSWORD)

#1 楼 @quakewang 确实是文档问题

gem 还得用 API V3 的版本,但 README.md 说的是 API V6 @qiniu_support 你怎么看?

@quakewang 我想问一下,你们用 7 牛的 表单方式 上视频后,怎么得到视频大小长度等信息呀。

#5 楼 @liuhui998 我们视频上传目前只有在 app 客户端做的,是先在客户端计算出长度,大小,然后作为附属信息放到 callback url 参数。

照片是七牛支持在 callback 的时候,自动附上这些属性的。

@quakewang 你的意思是 7 牛对于视频在 Callback 时不能自动带上这些属性,这样在网页上视频上传就有点不完整了。

不知道 7 牛会不会改进了

callback 能不能支持视频信息,我不是很确定,但你可以在收到 callback 以后调用他们的 avinfo api 来获取视频信息,然后保存下来,就是要多一次 api 请求。

最早七牛的照片上传也是无法在 callback 里面附带这些信息的,我提建议后他们很快就加上了,如果视频 callback 没有这个功能,你可以像他们提建议。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号