# File lib/dragonfly/data_storage/s3data_store.rb, line 32
      def store(temp_object, opts={})
        ensure_configured
        ensure_bucket_initialized
        
        meta = opts[:meta] || {}
        headers = opts[:headers] || {}
        uid = opts[:path] || generate_uid(meta[:name] || temp_object.original_filename || 'file')
        
        rescuing_socket_errors do
          if use_filesystem
            temp_object.file do |f|
              storage.put_object(bucket_name, uid, f, full_storage_headers(headers, meta))
            end
          else
            storage.put_object(bucket_name, uid, temp_object.data, full_storage_headers(headers, meta))
          end
        end
        
        uid
      end