首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在中批量上传图像(每次大约100到200个图像)?

如何在中批量上传图像(每次大约100到200个图像)?
EN

Stack Overflow用户
提问于 2013-08-25 12:47:28
回答 2查看 1.7K关注 0票数 4

我想上传图片(约200 kB,每个)批量。我们有多个选项,如CarrierWave、剪纸夹等。我怎样才能批量地执行这些上传?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-25 15:05:42

TL;DR

不要。Rails不是为批量上传而优化的,所以只要有可能,就在带外执行它。

使用FTP/SFTP

处理大量文件的最佳方法是使用一个完全带外的过程,而不是捆绑您的Rails过程。例如,使用FTP、FTPS、SCP或SFTP批量上传文件。一旦文件在服务器上,就用cron作业对它们进行后处理,或者使用inotify启动rake任务。

注意:当你使用这种技术时,一定要注意文件锁定.

使用队列

如果你坚持要通过Rails做这件事,不要上传数百个文件。相反,上传一个包含要由后台作业或队列处理的文件的归档文件。这里有许多替代方案,包括塞迪基克RabbitMQ等。

一旦上传了存档并提交了排队作业,队列进程就可以解压缩归档文件,并做任何其他需要做的事情。这种类型的解决方案规模很好。

票数 1
EN

Stack Overflow用户

发布于 2013-08-25 13:51:40

就像计算机Sc中的其他东西一样,答案是它取决于™。我真正的意思是

  1. 最终用户会上传这些吗?如果是,请使用jQuery文件上传插件提供一个易于使用的接口。
  2. 对于存储,您可以将其存储在服务器上。或者更好的是,将图片直接从用户电脑上传到亚马逊s3。下面是用剪纸将文件上传到S3中的一个示例
  3. 显然,您需要将其转换为后台作业,其中所有图像都可以在单独的作业中使用ajax获取图像。如果您已经没有fav系统,我建议您使用雷克塞德基

注意:如果您选择通过CORS将图像直接上传到S3,那么您的rails服务器就不需要管理文件上载。如果您有大量的图片或大量文件要上传,则建议直接上载。

然而,直接上传限制了您修改图像的能力(调整大小等)。因此,如果您选择直接上传解决方案,请记住这一点。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18429136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档