【问题标题】:How would you upload an image URL to an external website which generates a new URL for it and retrieve the newly generated url in rails?您如何将图像 URL 上传到为其生成新 URL 的外部网站并在 rails 中检索新生成的 url?
【发布时间】:2014-09-20 09:31:44
【问题描述】:

我正在创建一个网站,允许用户发布指向外部存储的 gif 图像的链接。不幸的是,gif 非常昂贵,幸运的是我找到了以下网站,它对它们进行了彻底的压缩:http://gfycat.com/

目前我的应用程序存储链接图像的 url(到目前为止它是未压缩的并且没有使用 gfycat)

我想做的是获取用户发布的 url,使用它通过 gfycat.com 压缩 gif,然后将新生成的 url(指向压缩图像)存储在我的数据库中。

我该怎么做?

抱歉,解释太长了

【问题讨论】:

    标签: ruby-on-rails ruby url upload gif


    【解决方案1】:

    刚刚查看了 gfycat.com,似乎他们确实在http://gfycat.com/fetch/:url 上提供了可访问的网络服务

    如果是这种情况,并且您已经有了 URL,您可以通过抓取 URL 并保存文件来非常轻松地抓取“缩小”版本的 gif。

    所以,我可能会这样做:

    • 安装 carrierwave 或您选择的其他图片上传 gem

    如果你使用了上面的 gem...

    假设 Cat 是您的模型,并且您附加了一个名为 gif_photo 的上传器,并且还假设原始 'gif' url 存储为 original_gif_url

    您可以执行以下操作(假设 @cat 是 cat 模型的某个实例):

    @cat.update_attribute(:remote_gif_photo_url, "http://gfycat.com/fetch/#{@cat.original_gif_url}")
    

    就这么简单:)...要返回 gif,您只需致电 @cat.gif_photo_url

    (同样,上面代码的假设是使用carrierwave 语法,但可以很容易地使用它的任何替代方法来完成。)

    【讨论】:

    • 刚刚意识到,考虑到你甚至不需要HTTParty的情况,我认为你可以直接提供URL,我会更新答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 2021-10-27
    • 2016-06-08
    • 2011-08-14
    • 2015-09-06
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多