2011-06-01 52 views
0

我正在使用一个Rails应用程序,它依赖于50MB + TIFF文件的大集合(1000个文件)。我遇到的麻烦是确定如何处理处理。在旧版本的应用程序中,用户必须在配置文件中指定一个路径(最好是服务器中安装的SAN驱动器),该文件成为所有TIFF集合的根目录,并且该路径被应用程序使用所有的处理。在Rails中存储数千个文件

应用程式需要:

  • 待办事项批量处理给出的路径,像老版本的TIFF(使用RMagick创建JPG,调整大小,添加文字标签等)。我们仍然要求用户指定一个路径作为所有项目的根目录。

  • 允许用户以两种方式将新文件添加到TIFF集合。

    • 添加新文件(S),其然后被存储在根路径 像上面,这将通过 该应用被检测并通过web用户接口处理

    • 上传 文件, 在根目录 的路径中。

我不知道这是否是实现这一目标能够接受的方式。我们在配置中需要根路径的原因是因为文件大小太大而无法从Web界面上传所有内容。想象一下上传1,000个TIFF文件需要多长时间,每个文件至少需要50MB〜100MB的大小。我想不出有什么办法来处理它。任何想法将不胜感激。

+0

你用什么宝石来处理文件? – 2011-06-01 16:53:19

+0

对于上传,carrierwave - 但通过本地访问批处理,我想我会使用标准的Ruby文件IO。 – mhy 2011-06-01 17:21:20

回答

1

不是直接引用运行Rails应用程序的服务器上的本地PATH,最好使用Capistrano来部署应用程序,并将公共文件夹下的符号链接到文件根目录。

例如,在轨道根:

LN -fs的/ var/lib中/ huge_file_collection公共/文件

然后Rails应用始终拥有文件一致的位置(其可以存储在常量) ,并且Capistrano可以用来动态地将你使用的任何位置链接到rails应用程序中的正确路径。

当然,如果需要的话,载波也可以使用公共/文件夹作为上传文件的根目录。

相关问题