2013-07-18 23 views
2

工作,我寫了一個代碼,以我的文件上傳到S3,它與RUBY工作正常,但如果我嘗試上傳同一文件,JRUBY它給誤差寶石「AWS-SDK」不使用JRuby

-> "HTTP/1.1 400 Bad Request\r\n" 
-> "x-amz-request-id: -------------\r\n" 
-> "x-amz-id-2: some_id\r\n" 
-> "Content-Type: application/xml\r\n" 
-> "Transfer-Encoding: chunked\r\n" 
-> "Date: Thu, 18 Jul 2013 05:50:24 GMT\r\n" 
-> "Connection: close\r\n" 
-> "Server: AmazonS3\r\n" 
-> "\r\n" 
-> "15c\r\n" 

這裏是我的代碼

# endcoding: UTF-8 

require 'aws-sdk' 
module Upload 
def self.ufile(name) 
    AWS.config(
     access_key_id: 'ACCESS_KEY', 
     secret_access_key: 'SECRET_KEY') 
    s3 = AWS::S3.new(logger: Logger.new($stderr), http_wire_trace: true) 
    bucket = 'bucket_name' 
    base_name = File.basename(name) 
    AWS.config.http_handler.pool.empty! 
    obj = s3.buckets[bucket].objects[base_name].write(File.open(name), content_length: File.size(name)) 
    obj.acl = :public_read_write 
    obj.public_url 
end 
end 

注: - 同時上傳特定的文件我收到錯誤。

回答

0

你可以用下面的語法

begin 
    do_something 
rescue AWS::Errors::ClientError 
    # rescues all 400 level errors 
end 
+0

沒有它不工作的處理這個問題。它只會處理,如果有任何錯誤,但不會上傳文件。 – Sourabh

+0

你應該嘗試重試上傳的救援 – Cthulhu