# File lib/dragonfly/data_storage/file_data_store.rb, line 17
      def store(temp_object, opts={})
        meta = opts[:meta] || {}
        relative_path = if opts[:path]
          opts[:path]
        else
          filename = meta[:name] || temp_object.original_filename || 'file'
          relative_path = relative_path_for(filename)
        end

        begin
          path = absolute(relative_path)
          until !File.exist?(path)
            path = disambiguate(path)
          end
          prepare_path(path)
          temp_object.to_file(path).close
          store_meta_data(path, meta) if store_meta
        rescue Errno::EACCES => e
          raise UnableToStore, e.message
        end

        relative(path)
      end