public String uploadShot(Image shot) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); String reading = "error"; try { ImageIO.write((BufferedImage)shot, "png", baos); } catch (IOException e) { e.printStackTrace(); } try { String data = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(Base64.encode(baos.toByteArray()), "UTF-8"); data = data + "&" + URLEncoder.encode("key", "UTF-8") + "=" + URLEncoder.encode("ac46d471f521a8805ff4e7051635cd89", "UTF-8"); URL url = new URL("http://api.imgur.com/2/upload"); URLConnection conn = url.openConnection(); conn.setDoOutput(true); conn.connect(); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.write(data); wr.flush(); BufferedReader read = new BufferedReader(new InputStreamReader(conn.getInputStream())); reading = read.readLine(); reading = read.readLine(); } catch (Exception e) { e.printStackTrace(); } return reading; }