【问题标题】:Rails S3 carrierwave upload not workingRails S3载波上传不起作用
【发布时间】:2016-07-22 13:08:57
【问题描述】:

我已经为此苦苦挣扎了一段时间,即使我用谷歌搜索了一堆,我仍然找不到我的问题的答案。 我在 heroku 上有一个 Rails 站点。我允许用户创建帖子,我希望他们能够添加多张图片。 我正在使用带有载波的 Rails 4.2.1,没有 S3 直接上传,一切正常。

但是,我想实现直接上传到 Amazon S3。 我尝试实现 Heroku 自己的指南:https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails

这几乎有效。 表单看起来很棒,它就像一个魅力,文件(我仍然被困在一个 atm 上)被上传到亚马逊,带有链接和所有内容。 但是,它没有显示在我的应用中。

为了让您了解会发生什么,这是我的控制台输出:

Started PATCH "/posts/47" for 127.0.0.1 at 2016-04-02 21:46:47     +0200
Processing by PostsController#update as HTML
Parameters: {"utf8"=>"✓",   "authenticity_token"=>"***auth token***", "posts"=>{"image"=>"//myapp.s3.amazonaws.com/uploads/d886f0c3-f51c-48a6-8e00-30a0a278e298/image-that-i-have-uploaded.jpg", "remote_image_url"=>"", "image_cache"=>"", "remove_image"=>"0", "title"=>"test", "description_short"=>"testdescshort2", "description_long"=>"testdesclong2"}, "button"=>"", "id"=>"47"}

Post Load (1.1ms)  SELECT  "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1  [["id", 47]]

User Load (0.2ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ?  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]

Post Load (0.1ms)  SELECT  "posts".* FROM "posts" WHERE "posts"."user_id" = ? AND "posts"."id" = ? LIMIT 1  [["user_id", 1], ["id", 47]]

  (0.2ms)  begin transaction

Post Load (0.2ms)  SELECT  "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1  [["id", 47]]

SQL (1.8ms)  UPDATE "posts" SET "image" = ?, "updated_at" = ? WHERE "posts"."id" = ?  [["image", "73811_108472322553034_2478153_n.jpeg"], ["updated_at", "2016-04-02 19:46:48.005926"], ["id", 47]]
 (0.9ms)  commit transaction

Redirected to http://localhost:3000/posts/47
Completed 302 Found in 43ms (ActiveRecord: 4.5ms)

(我已经从中取出了真正的真实性令牌,因为出于隐私原因我不确定我是否可以分享它。)

如您所见,为我上传的图片创建了一个链接。 但是,它不会使用新图像加载帖子。 相反,它会加载已经存在的图片。

当我创建一个新帖子时也会发生同样的情况 - 然后,它只是将图像保存为 nil。

有人不知道我能做什么吗? 我确定我只是在做一些简单的错误,但我找不到它。

非常感谢您的帮助!!!!

【问题讨论】:

  • 当您在浏览器中访问该图片网址时会发生什么?
  • 下载图片。难道错误来自丢失的“http:”?如果是这样,我该如何解决?
  • @AnthonyTo 你知道我能做什么吗?该链接似乎有效。

标签: ruby-on-rails heroku amazon-s3 carrierwave image-uploading


【解决方案1】:

【讨论】:

  • 不,我已经这样做了。不过,感谢您的建议。
猜你喜欢
  • 2015-02-08
  • 2012-10-14
  • 2012-03-16
  • 1970-01-01
  • 1970-01-01
  • 2015-06-08
  • 2023-03-12
  • 2017-04-03
  • 2013-11-03
相关资源
最近更新 更多