Java请求网络图片返回流

来源:互联网 发布:pc音频软件剪辑 编辑:程序博客网 时间:2024/06/05 11:39

需要ImageIO支持

/** * get方法提交 *  * @param url *            String 访问的URL * @param param *            String 提交的内容 * @param repType *            返回类型 * @return String * */public static byte[] getRequest(String url, String repType) {String result = "";byte[] resByt = null;try {URL urlObj = new URL(url);HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();// 连接超时conn.setDoInput(true);conn.setDoOutput(true);conn.setConnectTimeout(25000);// 读取超时 --服务器响应比较慢,增大时间conn.setReadTimeout(25000);conn.setRequestMethod("GET");conn.addRequestProperty("Accept-Language", "zh-cn");conn.addRequestProperty("Content-type", repType);conn.addRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)");conn.connect();PrintWriter out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "UTF-8"), true);if ("image/jpeg".equals(repType)) {ByteArrayOutputStream outputStream = new ByteArrayOutputStream();BufferedImage bufImg = ImageIO.read(conn.getInputStream());ImageIO.write(bufImg, "jpg", outputStream);resByt = outputStream.toByteArray();outputStream.close();} else {// 取得输入流,并使用Reader读取BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));System.out.println("=============================");System.out.println("Contents of get request");System.out.println("=============================");String lines = null;while ((lines = reader.readLine()) != null) {System.out.println(lines);result += lines;result += "\r";}resByt = result.getBytes();reader.close();}out.print(resByt);out.flush();out.close();// 断开连接conn.disconnect();System.out.println("=============================");System.out.println("Contents of get request ends");System.out.println("=============================");} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return resByt;}


0 0
原创粉丝点击