我已经使用carrierwave为我的用户在我的rails应用程序中上传文件。当用户上传多个大小超过400mb(大约)的文件时,会出现超时错误。Carrierwave Timeout
注意:我已经在heroku上托管了我的app rails应用程序。
我已经使用carrierwave为我的用户在我的rails应用程序中上传文件。当用户上传多个大小超过400mb(大约)的文件时,会出现超时错误。Carrierwave Timeout
注意:我已经在heroku上托管了我的app rails应用程序。
通常不推荐通过Heroku上传大文件。他们limit the request to 30 seconds,这将不足以400MB的时间。
如果您愿意使用S3,Heroku提供了一个潜在的Rails solution。
我估计10-20分钟后会出现超时错误。用户告诉我他可以上传约100张图片(每张图片大小为5-8 MB)。但是当上传大约150张图片时,他会遇到超时错误。 – fhaider
第一个解决方案是你可以使用refile gem。
原因是 “轻松直接上传,甚至S3”
这种宝石是由乔纳斯尼克拉斯,是谁在背后Carrierwave宝石
二解决方案
移动上传文件到后台作业
这是因为临时文件上传到Heroku的,然后推到哪里你存储它(如亚马逊)。此外,您使用的是哪个Web服务器会有所不同,如果您正在进行图像处理,这也会拖延“获取”,“处理”和“推送”每次上传所需的时间。尽管我需要更多信息,但要提供解决方案。你在哪里存储hte图像?你使用哪个网络服务器?你正在处理图像文件(缩略图和大小)? etc – trh
我没有处理任何图像。我使用CSS以缩略图形式显示图像。我正在使用ftp的bluehost进行文件存储。 – fhaider
Gotcha。你必须推出你自己的解决方案,但使用js上传将会让Herku走出等式,这将是你最好的选择。这个解决方案是一个很好的起点。 http://stackoverflow.com/a/16341162/1753596 – trh