簡體   English   中英

S3上傳文件與rake腳本,carrierwave和霧無法正常工作

[英]S3 upload files with rake script, carrierwave and fog not working

我需要將一堆文件上傳到S3。 我正在使用carrierwave + fog上傳文件的rails項目...如果我執行以下操作,一切都可以從控制台正常工作:

image = ImageUploader.new
image.store!(File.open("image.jpg"))

這是測試,現在我必須上傳一堆文件,所以我在名為upload.rake的lib / tasks文件夾中創建了一個rake腳本...在這個upload.rake中我執行以下操作:

task :upload => :environment do

    path = "app/assets/images"

    Dir.foreach(path) do |file|
        if file != "." && file !=".."
            uploader = ImageUploader.new
            uploader.store!(File.open(File.join(path,file)))    
            puts file
        end
    end 
end

但它只是不起作用,我不明白為什么......它給出了這個錯誤:

rake aborted!
Broken pipe (Errno::EPIPE)

任何人都知道可能會發生什么? 這讓我發瘋了......這是--trace的最后一部分

.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openssl/buffering.rb:292:in `syswrite_nonblock'
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openssl/buffering.rb:292:in `write_nonblock'
.rvm/gems/ruby-1.9.2-p320/gems/excon-0.16.7/lib/excon/socket.rb:139:in `write'
.rvm/gems/ruby-1.9.2-p320/gems/excon-0.16.7/lib/excon/ssl_socket.rb:84:in `write'
.rvm/gems/ruby-1.9.2-p320/gems/excon-0.16.7/lib/excon/connection.rb:269:in `request_kernel'
.rvm/gems/ruby-1.9.2-p320/gems/excon-0.16.7/lib/excon/connection.rb:103:in `request'
.rvm/gems/ruby-1.9.2-p320/gems/fog-1.6.0/lib/fog/core/connection.rb:20:in `request'
.rvm/gems/ruby-1.9.2-p320/gems/fog-1.6.0/lib/fog/aws/storage.rb:392:in `request'
.rvm/gems/ruby-1.9.2-p320/gems/fog-1.6.0/lib/fog/aws/requests/storage/put_object.rb:43:in `put_object'
.rvm/gems/ruby-1.9.2-p320/gems/fog-1.6.0/lib/fog/aws/models/storage/file.rb:133:in `save'

謝謝!!

幾天前我遇到了這個問題,解決方法是我沒有正確指定我的存儲桶 - 所以可能值得一看,確保您的存儲桶名稱正確並且權限設置正確。 沒有指定存儲桶時,這似乎有點荒謬的一般錯誤!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM