【问题标题】:Uploading and Downloading Files using fog使用雾上传和下载文件
【发布时间】:2017-11-28 20:21:33
【问题描述】:

在使用雾上传和下载文件时,我看到了几种不同的方法。哪个更受欢迎,甚至有关系?

上传中

directory.files.create(key: local_filename,
                       body: File.open(local_path),
                       public: false)

connection.put_object(directory.key, 
                      local_filename,
                      File.open(local_path),
                      public: false)

对于下载,我只有一个示例,但需要将文件选项更改为“wb”才能使其工作:

正在下载

File.open(Rails.root.join(file.key), 'wb') do |local_file|
  local_file.write(file.body)
end

【问题讨论】:

    标签: ruby-on-rails google-cloud-storage fog


    【解决方案1】:

    好问题。

    directory.files.create 版本最终在幕后调用connection.put_object,因此在功能上它们在基本用法上应该是等效的。话虽如此,directory.files.create 是首选选项,因为它允许您(在许多情况下)更改您正在使用的存储提供程序并让事情“正常工作”(即使在该提供程序上上传的方法看起来完全不同)。

    在下载端,应该有类似的directory.files.getconnection.get_object 类型区分来获取对象的引用。您将需要directory 版本,然后像您一样调用body 方法,应该会为您提供所需的内容。

    希望澄清。

    【讨论】:

      猜你喜欢
      • 2012-03-16
      • 2012-10-14
      • 2015-11-26
      • 2011-10-01
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多