class ActionDispatch::Http::UploadedFile

def initialize(hash) # :nodoc:

:nodoc:
def initialize(hash) # :nodoc:
  @tempfile = hash[:tempfile]
  raise(ArgumentError, ":tempfile is required") unless @tempfile
  @content_type = hash[:type]
  if hash[:filename]
    @original_filename = hash[:filename].dup
    begin
      @original_filename.encode!(Encoding::UTF_8)
    rescue EncodingError
      @original_filename.force_encoding(Encoding::UTF_8)
    end
  else
    @original_filename = nil
  end
  if hash[:head]
    @headers = hash[:head].dup
    begin
      @headers.encode!(Encoding::UTF_8)
    rescue EncodingError
      @headers.force_encoding(Encoding::UTF_8)
    end
  else
    @headers = nil
  end
end