【问题标题】:Ruby on Rails app local directory usage for resourcingRuby on Rails 应用程序本地目录用于资源分配
【发布时间】:2021-05-07 11:47:00
【问题描述】:

我想使用存储在我的服务器下的本地文件(不是在 Rails 的公共目录或项目目录中),就像公共文件夹一样。

为了更简短的解释,我有一个/home/server/img 文件夹,而我的 Rails 项目的根目录有所不同。我希望能够在我的 Rails 应用程序中使用这些名为“img”的文件夹,就像资源文件一样。

举个例子;

<img src="/home/server/img">

我正在使用 nginx 为我的应用程序提供服务。并且 img 文件夹是挂载的 samba 共享目录。 谢谢。

【问题讨论】:

    标签: ruby-on-rails nginx webserver assets samba


    【解决方案1】:

    我找到了我之前提出的问题的解决方案。我一直在寻找的是,我想在我的 Rails 应用程序上使用我的网络服务器下的本地文件。这背后的主要想法是我不想用用户内容填充我的网络服务器的存储空间。 因此,我基本上使用以下script 在我的服务器下创建了一个挂载共享,然后使用Rails 的File.open 方法来访问这个挂载目录的内容。

    以下函数从基于 UNIX 的服务器的任何目录中读取数据,然后通过基本的 HTTP 通信将文件发送到客户端计算机。我将这些行放在控制器功能下,并在 config/routes.rb 下给出了一个获取路由

      data_file = '/path/to/file'
      data      = File.open(File.expand_path(data_file), 'r')
    
      send_data data.read, filename: "imageName.png", type: "image/png", disposition: 'inline',  stream: 'true', buffer_size: '4096'
    

    Here 是解释类似问题答案的另一个来源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2015-06-23
      • 2017-02-23
      • 1970-01-01
      相关资源
      最近更新 更多