如何让用户使用 Ruby 下载 Dropbox 中的文件?

How to make users to download files in Dropbox with Ruby?

我现在正在尝试制作一个功能,允许用户访问要下载的文件的 link。

原生 link 是 https://www.dropbox.com/home/Apps/ringle_records?preview=lesson_id_11%3Auser_id_5.mp3 但是,它只能由管理员访问(当然)。如果我有一个有资格知道这个 link 的用户,那么我很乐意允许该用户单击某个按钮来下载该文件。

在实施方面,我有点陷入困境。因为如果我使用下面的代码,它似乎将数据存储到服务器中。

def self.dropbox_download
    contents, metadata = Drop_client.get_file_and_metadata('/lesson_id_12:user_id_7.mp3.mp3')
    begin
      File.open('filename.mp3', 'wb') do |file|
        file.write(contents)
      end
    rescue
    end
  end

我想让用户点击一些东西然后下载 "mp3" 文件,但我不认为上面的代码以这种方式工作。

有意见请拍!我很期待看到!

最佳

如果您只需要允许其他用户下载这个特定文件(或某些特定文件集),最简单的方法就是获取相关文件的共享 link:

https://www.dropbox.com/help/167

您可以针对不同的行为修改这些共享的 link,例如文件下载,如下所示:

https://www.dropbox.com/help/201

如果您确实需要以编程方式获取这些 link,您可以使用 shares 方法:

https://dropbox.github.io/dropbox-sdk-ruby/api-docs/v1.6.4/DropboxClient.html#method-i-shares

然后您可以将共享的 link 提供给用户,例如,作为网页上的 link 或电子邮件等