Ruby on rails Ruby on Rails应用程序本地目录资源使用
我希望使用存储在服务器下的本地文件(不在Rails的公共目录或项目目录中),就像使用公用文件夹一样 为了更简单的解释,我有一个Ruby on rails Ruby on Rails应用程序本地目录资源使用,ruby-on-rails,nginx,webserver,assets,samba,Ruby On Rails,Nginx,Webserver,Assets,Samba,我希望使用存储在服务器下的本地文件(不在Rails的公共目录或项目目录中),就像使用公用文件夹一样 为了更简单的解释,我有一个/home/server/img文件夹,我的Rails项目的根目录是不同的。我希望能够在Rails应用程序中使用这些名为“img”的文件夹内容,就像使用资源文件一样 例如, <img src="/home/server/img"> 我正在使用nginx为我的应用程序提供服务。img文件夹被装载到samba共享目录中。 谢谢。我找到了我
/home/server/img
文件夹,我的Rails项目的根目录是不同的。我希望能够在Rails应用程序中使用这些名为“img”的文件夹内容,就像使用资源文件一样
例如,
<img src="/home/server/img">
我正在使用nginx为我的应用程序提供服务。img文件夹被装载到samba共享目录中。
谢谢。我找到了我先前问的问题的答案。我要找的是,我想在Rails应用程序中使用Web服务器下的本地文件。这背后的主要思想是我不想用用户内容填充我的web服务器的存储空间。 因此,我基本上在我的服务器下创建了一个挂载的共享,然后使用Rails的
File.open
方法来访问这个挂载目录的内容
下面的函数从基于UNIX的服务器的任意目录读取数据,然后通过基本HTTP通信将文件发送到客户机。我将这些行放在controller函数下,并在config/routes.rb下给出了一个get路由
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'
另一个来源解释了类似问题的答案