如何将 SMB/CIFS 内部网络共享与 Active Storage 一起使用?
How to use an SMB/CIFS Internal Network Share with Active Storage?
长话短说:
我想使用 ActiveStorage 将上传的文件保存到本地 SMB/CIFS 网络共享并从第二个开发或演示计算机访问它。
两台机器都使用相同的 Postgres 数据库。
长版:
我正在 Rails Inventory and Store 应用程序上创建一个内部托管的 Ruby。用户需要能够上传产品照片。
我的组织希望此应用完全在内部运行,因此我无法使用 Amazon、Google 或 Azure 存储选项,只能使用磁盘。
如何使用 ActiveStorage 存储用户上传的照片,以便多台开发机器看到相同的照片而不是 "Broken Image" 图标?
如果使用用于上传照片的同一台服务器来查看该站点,那么这些照片似乎可以正常工作。如果第二个开发人员想要处理他们自己的站点副本,图像将显示为 Broken Image 标签。
任何帮助将不胜感激。
我试图在机器之间同步同步存储文件夹。
我也尝试过Git-提交,Git-推和Git拉。
Debian 9
Ruby --版本
ruby2.6.0p0
Rails5.2.3
storage.yml:
local:
service: Disk
root: <%= Rails.root.join("storage") %>
尝试在新选项卡中查看损坏的图像时出现错误消息
Errno::ENOENT in ActiveStorage::DiskController#show
No such file or directory @ rb_file_s_mtime - <RAILS.ROOT.HERE, COMMENTED OUT>./storage/Gy/dG/GydGcRvLmbL3Loo5cYRRQspF
Extracted source (around line #63):
return [200, {'Allow' => ALLOW_HEADER, CONTENT_LENGTH => '0'}, []]
end
last_modified = ::File.mtime(path).httpdate
return [304, {}, []] if request.get_header('HTTP_IF_MODIFIED_SINCE') == last_modified
headers = { "Last-Modified" => last_modified }
我希望在用于查看站点的任何开发或演示服务器上显示照片。相反,会出现一个损坏的图像标签。
如果这里的问题不是要在云中保存任何东西,也许 Minio 可以为您的用例提供帮助。
使用 minio,您可以(非常简单地)在您的防火墙后面创建私有 对象存储服务器(即私有 Amazon S3 兼容服务)。
只需在您的服务器中安装(或 Docker,如果您愿意),浏览到 Web GUI 并根据需要创建许多访问密钥或存储桶。
并且它有一个 Amazon S3 兼容 API,因此您可以配置 Active Storage 的 S3 部分以与 Minio 通信。非常透明。
Minio 开源且易于备份(只需复制一个目录到您的备份位置)
我正在使用 Minio 存储 .zip 文件,没有任何问题。
GitHub 页数:https://github.com/minio/minio
项目页面:https://min.io/
长话短说:
我想使用 ActiveStorage 将上传的文件保存到本地 SMB/CIFS 网络共享并从第二个开发或演示计算机访问它。
两台机器都使用相同的 Postgres 数据库。
长版:
我正在 Rails Inventory and Store 应用程序上创建一个内部托管的 Ruby。用户需要能够上传产品照片。
我的组织希望此应用完全在内部运行,因此我无法使用 Amazon、Google 或 Azure 存储选项,只能使用磁盘。
如何使用 ActiveStorage 存储用户上传的照片,以便多台开发机器看到相同的照片而不是 "Broken Image" 图标?
如果使用用于上传照片的同一台服务器来查看该站点,那么这些照片似乎可以正常工作。如果第二个开发人员想要处理他们自己的站点副本,图像将显示为 Broken Image 标签。
任何帮助将不胜感激。
我试图在机器之间同步同步存储文件夹。 我也尝试过Git-提交,Git-推和Git拉。
Debian 9
Ruby --版本
ruby2.6.0p0
Rails5.2.3
storage.yml:
local:
service: Disk
root: <%= Rails.root.join("storage") %>
尝试在新选项卡中查看损坏的图像时出现错误消息
Errno::ENOENT in ActiveStorage::DiskController#show
No such file or directory @ rb_file_s_mtime - <RAILS.ROOT.HERE, COMMENTED OUT>./storage/Gy/dG/GydGcRvLmbL3Loo5cYRRQspF
Extracted source (around line #63):
return [200, {'Allow' => ALLOW_HEADER, CONTENT_LENGTH => '0'}, []]
end
last_modified = ::File.mtime(path).httpdate
return [304, {}, []] if request.get_header('HTTP_IF_MODIFIED_SINCE') == last_modified
headers = { "Last-Modified" => last_modified }
我希望在用于查看站点的任何开发或演示服务器上显示照片。相反,会出现一个损坏的图像标签。
如果这里的问题不是要在云中保存任何东西,也许 Minio 可以为您的用例提供帮助。
使用 minio,您可以(非常简单地)在您的防火墙后面创建私有 对象存储服务器(即私有 Amazon S3 兼容服务)。
只需在您的服务器中安装(或 Docker,如果您愿意),浏览到 Web GUI 并根据需要创建许多访问密钥或存储桶。
并且它有一个 Amazon S3 兼容 API,因此您可以配置 Active Storage 的 S3 部分以与 Minio 通信。非常透明。
Minio 开源且易于备份(只需复制一个目录到您的备份位置)
我正在使用 Minio 存储 .zip 文件,没有任何问题。
GitHub 页数:https://github.com/minio/minio
项目页面:https://min.io/