class WWW::Mechanize::Form

def file_to_multipart(file)

def file_to_multipart(file)
  file_name = file.file_name ? ::File.basename(file.file_name) : ''
  body =  "Content-Disposition: form-data; name=\"" +
          "#{mime_value_quote(file.name)}\"; " +
          "filename=\"#{mime_value_quote(file_name)}\"\r\n" +
          "Content-Transfer-Encoding: binary\r\n"
  if file.file_data.nil? and ! file.file_name.nil?
    file.file_data = ::File.open(file.file_name, "rb") { |f| f.read }
    file.mime_type = WEBrick::HTTPUtils.mime_type(file.file_name,
                                    WEBrick::HTTPUtils::DefaultMimeTypes)
  end
  if file.mime_type != nil
    body << "Content-Type: #{file.mime_type}\r\n"
  end
  body <<
    if file.file_data.respond_to? :read
      "\r\n#{file.file_data.read}\r\n"
    else
      "\r\n#{file.file_data}\r\n"
    end
  body
end