1
想要使用carrierwave gem和AWS從我的應用上傳圖像。 但是當我上傳的圖片,並提交得到錯誤Rails 4:Carrierwave/AWS - Excon :: Errors :: SocketError/getaddrinfo:提供的節點名稱和服務名稱
Excon::Errors::SocketError in MoviesController#create
getaddrinfo: nodename nor servname provided
跟蹤
app/controllers/movies_controller.rb:30:in `block in create'
app/controllers/movies_controller.rb:29:in `create'
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"laitXtzkMnWd/EHtVjFx0X5vE0P4kowXu84wH8fEVOQ=",
"movie"=>{"title"=>"new ",
"description"=>"te",
"movie_length"=>"12",
"director"=>"12",
"rating"=>"12",
"image"=>#<ActionDispatch::Http::UploadedFile:0x007fc913845fb0 @tempfile=#<Tempfile:/var/folders/s8/fd5_m1_d3436ptj9znpcy3cc0000gn/T/RackMultipart20150211-642-1ow2dmn>,
@original_filename="IMG_0892.JPG",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"movie[image]\"; filename=\"IMG_0892.JPG\"\r\nContent-Type: image/jpeg\r\n">},
"commit"=>"Create Movie"}
MoviesController#創建
def create
@movie = Movie.new(movie_params)
respond_to do |format|
**if @movie.save**<--- Error
format.html { redirect_to @movie, notice: 'Movie was successfully created.' }
format.json { render :show, status: :created, location: @movie }
else
format.html { render :new }
format.json { render json: @movie.errors, status: :unprocessable_entity }
end
,但我認爲它是與我的AWS設置,因爲我是能夠在沒有AWS的情況下創建圖像,但現在自使用霧寶石& AWS訪問& ID鍵它不起作用
配置/ initialiser.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => 'AKIAIxxxxxxA', # required
:aws_secret_access_key => 'UdRxhdOHoaxxxxxxxx3I9+vIId+',
:region => 'Ireland', # required
}
config.fog_directory = 'moviesdemo' # required
end
尋找解決的辦法,我相信你現在已經添加的區域,但是這是行不通的。
gemfile
source 'https://rubygems.org'
ruby "2.0.0"
gem 'rails', '4.1.7'
gem 'sqlite3', group: :development
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
gem 'bootstrap-sass', '~> 3.3.3'
gem 'rails_12factor', group: :production
gem 'pg', group: :production
gem 'carrierwave'
gem 'fog'
image.uploader RB
編碼:UTF-8
class ImageUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
# include CarrierWave::RMagick
# include CarrierWave::MiniMagick
# Choose what kind of storage to use for this uploader:
# storage :file
storage :fog
是的,現在工作,謝謝托馬斯! – Neil 2015-02-11 21:48:26
歡迎您:) – trosborn 2015-02-11 23:10:21
對於美國人有着同樣的錯誤,認爲他們的地區是'美國標準',這真的是'我們東1'。 – chaostheory 2016-03-01 09:11:09