2011-06-24 7 views
0

私は新しいROR開発者です。私はpaperclipを使用して500000以上のリモートURL画像をアップロードしたいと思います。エラーが発生しましたRuby on Railsでpaperclipプラグインを使用して、remote_url画像をアップロードするには

Error = Too many links - /var/www/railsapp/sample_app/public/system/photos/5815 
Error = Too many links - /var/www/railsapp/sample_app/public/system/photos/48347 
. 
. 
. 
. 
. 

Time Out : Error = execution expired 

Error = undefined method `request_uri' for #<URI::Generic:0x7f565dc6f218 URL:> 

あなたは誰でも分かりますか?私はこの立場に苦しんでいます。

ここでリモートURLの画像をアップロードするための私のrakeタスク:

Book.find_in_batches(:conditions=>["image_url is not null and book_id is not null and active=true"],:batch_size=>10000) do |books| 
    books.each do |book| 
    begin 
     book=Book.find_by_id(book.book_id) 
     url = URI.parse(book.image_url) 
     Net::HTTP.start(url.host, url.port) do |http| 
     if http.head(url.request_uri).code == "200" 
      Book.update_attribute(:photo,open(url)) 
     end 
     end 
    rescue Timeout::Error => e 
    app_logger.debug("Book Photo data load Time Out : Error = #{e}") 
    rescue Exception => e 
    app_logger.debug("Book Photo data load : Error = #{e}") 
    end 
    end 

エンド

答えて

0

は問題がこれを追加し、あなたがディレクトリに置くことができるファイルの数の上限に達したということですあなたのレールのアプリで初期化子へ:

# put in /config/initializers/paperclip.rb 

Paperclip::Attachment.default_options[:url] = 
"/system/:class/:attachment/:id_partition/:style/:basename.:extension" 
Paperclip::Attachment.default_options[:path] = 
":rails_root/public/system/:class/:attachment/:id_partition/:style/:basename.:extension" 
+0

おかげでアンドリュー、あなたは私が#のために未定義のメソッド 'REQUEST_URI」のようなエラーを把握することができます。? –

+0

rails_root/public/systemフォルダの下にオリジナルファイルを作成せずに、paperclipでサムフォーマットのファイルのみを作成できますか?あなたのペーパークリップ設定にError = = 5,00,000以上のイメージをアップロードするときにデバイスにスペースが残らないようにしてください: –

+0

Add:styles => {:original => '150x150>'} –

関連する問題