返回顶部
首页 > 资讯 > 精选 >HttpsURLConnection上传文件流(实例讲解)
  • 115
分享到

HttpsURLConnection上传文件流(实例讲解)

httpsurlconnection上传文件sur 2023-05-31 10:05:25 115人浏览 八月长安
摘要

项目需要对接外部接口,将图片文件流发送到外部接口,下面代码就是httpsURLConnection如何上传文件流: public static void main(String[] args) throws Exception {

项目需要对接外部接口,将图片文件流发送到外部接口,下面代码就是httpsURLConnection如何上传文件流:

  public static void main(String[] args) throws Exception {    //本地图片    java.io.File file = new java.io.File("/Users/jikukalun/Pictures/id1.jpg");    FileInputStream fileInputStream = new FileInputStream(file);    //对接外部接口    String urlString = "************";    URL url = new URL(urlString);    HttpsURLConnection con = (HttpsURLConnection) url.openConnection();    // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在    // http正文内,因此需要设为true, 默认情况下是false;    con.setDoOutput(true);    // 设置是否从httpUrlConnection读入,默认情况下是true;    con.setDoInput(true);    // 设定请求的方法为"POST",默认是GET    con.setRequestMethod("POST");    // Post 请求不能使用缓存    con.setUseCaches(false);    // 设定传送的内容类型是可序列化的java对象    // (如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException)//    con.setRequestProperty("Content-type", "application/x-java-serialized-object");    OutputStream out = con.getOutputStream();    //读取本地图片文件流    FileInputStream inputStream = new FileInputStream(file);    byte[] data = new byte[2048];    int len = 0;    int sum = 0;    while ((len = inputStream.read(data)) != -1) {      //将读取到的本地文件流读取到HttpsURLConnection,进行上传      out.write(data, 0, len);      sum = len + sum;    }    System.out.println("上传图片大小为:" + sum);    out.flush();    inputStream.close();    out.close();    int code = con.getResponseCode(); //获取post请求返回状态    System.out.println("code=" + code + " url=" + url);    if (code == 200) {      InputStream inputStream2 = con.getInputStream();      ByteArrayOutputStream bos = new ByteArrayOutputStream();      while ((len = inputStream2.read(data)) != -1) {        bos.write(data, 0, len);      }      inputStream2.close();      String content = bos.toString();      bos.close();      System.out.println("result =" + content);      //将返回的JSON格式的字符串转化为json对象      JSONObject json = JSONObject.parseObject(content);      try {        System.out.println("name=" + json.getString("name") + ", people=" + json.getString("people") + ", sex=" + json.getString("sex")            + ", id_number=" + json.getString("id_number") + ", type=" + json.getString("type") + ", address=" + json.getString("address")            + ", birthday=" + json.getString("birthday"));      } catch (JSONException e) {        e.printStackTrace();      }    }    //断开HttpsURLConnection连接    con.disconnect();  }

--结束END--

本文标题: HttpsURLConnection上传文件流(实例讲解)

本文链接: https://lsjlt.com/news/225056.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作