gpt4 book ai didi

ruby-on-rails - CarrierWave如何在给定的URL下存储文件

转载 作者:行者123 更新时间:2023-12-03 12:00:40 25 4
gpt4 key购买 nike

我的CarrierWave通过典型的ORM设置工作正常,并通过表格上传。我想弄清楚如何在表单提交上下文之外使用CarrierWave。例如,当用户注册时,我想捕获他们的图像并将其存储在CarrierWave中。这是我的东西,它不起作用:

gravatar_url = "http://www.gravatar.com/avatar/#{Digest::MD5.new.update(current_user.email)}?s=512&d=identicon"

uploader = ImageUploader.new
uploader.store! gravatar_url

也没有错误。我一直在网上浏览,却找不到解决方案。

最佳答案

我在尝试弄清楚如何使store!与本地文件路径一起使用时遇到了很多麻烦。事实证明store!实际上将文件作为参数,而不是字符串。

对于URL,首先需要require 'open-uri',然后打开文件/ URL。这样的事情应该起作用:

require 'open-uri'
gravatar_url = "http://www.gravatar.com/avatar/#{Digest::MD5.new.update(current_user.email)}?s=512&d=identicon"
tempfile = open(gravatar_url)

uploader = ImageUploader.new
uploader.store! tempfile

文件路径也可以使用相同的方法,但是在这种情况下,您不需要 open-uri

关于ruby-on-rails - CarrierWave如何在给定的URL下存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com