【问题标题】:Seed with paperclip using image url使用图像 url 用回形针播种
【发布时间】:2017-06-07 04:38:08
【问题描述】:

我正在使用 Paperclip,我想在 S3 上上传用户头像的图片。

我的 CSV

username    avatar_url
foo         https://s3.amazonaws.com/foo/seed/10215716104_e09765dabd_z.jpg

我要去follow this tutorial 创建一个CSV,连同这个SO question(用于回形针播种),所以是这样的:

require 'csv'

csv_text = File.read(Rails.root.join('lib', 'seeds', 'user.csv'))
csv = CSV.parse(csv_text, :headers => true, :encoding => 'ISO-8859-1')
csv.each do |row|
  u = User.new
  u.username = row['username']
  u.avatar = File.open(row['avatar_url'])
  u.save
end

但是,当我在控制台中尝试这个时,像这样:

User.create(username: 'foo', avatar: File.new("https://s3.amazonaws.com/foo/seed/10215716104_e09765dab"))

我得到一个错误:

Errno::ENOENT: No such file or directory @ rb_sysopen - https://s3.amazonaws.com/foo/seed/10215716104_e09765dabd_z.jpg

是否可以在 S3 上使用图像播种?

【问题讨论】:

  • 不应该是File.open()吗?
  • 我都试过了。但都不适合我。 :(

标签: ruby-on-rails ruby paperclip


【解决方案1】:

这是我的使用方法:

class User < ActiveRecord::Base
  has_attached_file :avatar, ...
end

user = User.new
user.avatar = URI.parse(url_goes_here)
user.save

Attachment downloaded from a URL

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    相关资源
    最近更新 更多