5

我正在使用carrierwave将图像上传到亚马逊s3。这对开发很有用,但当我将它推送到我的服务器时(engineyard 云试用版)就不行了。

该过程运行良好,没有引发错误,并返回链接。但是,实际图像以某种方式损坏。

这是一个,例如:https ://s3.amazonaws.com/ZenBucket/uploads/goal/photo/30/guinness-toucan.jpg

谁能告诉我它是如何被破坏的,或者可能是什么原因?

编辑:部署后的第一次图像上传尝试似乎总是失败 500,但错误未显示在日志中。不确定这是否相关。

Edit2:似乎也发生在蜻蜓宝石而不是载波上。

谢谢

4

3 回答 3

0

如果它只发生在部署后的第一个图像上,我会怀疑您的应用程序仍在加载(或至少一些工作人员正在加载),导致 CPU 使用率高并减慢上传过程,这可能使其超时并损坏图像同时。

我假设 Engine Yard 只会在第一次请求时重新加载您的应用程序,这可能就是原因。您应该在部署后尝试“卷曲”您的应用程序,然后等待几分钟,看看是否有帮助。

EC2 上的小型实例只有一个核心,并且在重新启动许多工作人员时会变得非常慢。

于 2012-02-15T21:58:27.250 回答
0

完成 EngineYard 的载波/雾设置,如下所述: http://www.engineyard.com/blog/2011/a-gentle-introduction-to-carrierwave/ 和此处: http : //docs.engineyard.com /use-carrierwave-and-optional-fog-to-upload-and-store-files.html

您的“雾”公开设置为“假”还是“真”?如果它是“假”,请检查此线程,因为您需要使用“authenticated_url”属性而不是返回的属性: http ://groups.google.com/group/carrierwave/browse_thread/thread/2f727c77864ac923

于 2012-02-21T03:56:37.407 回答
0

jRuby(可能使用 https)上的 gzip 压缩似乎存在问题,该问题已得到解决。如果有人需要我的堆栈中的版本号,我可以答应。

于 2012-03-28T14:46:05.753 回答