gpt4 book ai didi

ruby-on-rails - 如何使用载波从外部将文件保存到模型?

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:07 25 4
gpt4 key购买 nike

我有模型:

class RealtyPhoto < ActiveRecord::Base
attr_accessible :name, :photo

mount_uploader :photo, RealtyPhotoUploader

belongs_to :realty_object
end

和上传者:

class RealtyPhotoUploader < CarrierWave::Uploader::Base

include CarrierWave::RMagick

storage :file

def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

def default_url
[version_name, "/assets/default-flat.jpg"].compact.join('_')
end

def extension_white_list
%w(jpg jpeg gif png)
end
end

我在代码中这样写:

require 'open-uri'

object = RealtyObject.last

photo = RealtyPhoto.new

photo.photo = open('http://milushov.ru/bg.jpg').read

object.realty_photos << photo

我在该行收到一个错误:

 photo.photo = open('http://milushov.ru/bg.jpg').read
ArgumentError: string contains null byte
from /home/roma/.rvm/gems/ruby-1.9.3-p327@miel/gems/carrierwave-0.7.1/lib/carrierwave/sanitized_file.rb:113:in `expand_path'

有人知道如何从外部下载和保存文件吗? (当我从页面上的表单保存文件时 - 一切正常)。也许使用 CarrierWave uploader ?

最佳答案

Carrierwave 在您的案例中使用 remote_column_name_url 从远程 url 上传图像photo.remote_photo_url = "url"

关于ruby-on-rails - 如何使用载波从外部将文件保存到模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274178/

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