欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

HttpsURLConnection上傳文件流(實例講解)

 更新時間:2017年07月03日 14:30:32   投稿:jingxian  
下面小編就為大家?guī)硪黄狧ttpsURLConnection上傳文件流(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

項目需要對接外部接口,將圖片文件流發(fā)送到外部接口,下面代碼就是HttpsURLConnection如何上傳文件流:

/**
   * HttpsURLConnection上傳文件流
   *
   * @param args
   * @throws Exception
   */
  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請求,參數(shù)要放在
    // http正文內(nèi),因此需要設為true, 默認情況下是false;
    con.setDoOutput(true);
    // 設置是否從httpUrlConnection讀入,默認情況下是true;
    con.setDoInput(true);
    // 設定請求的方法為"POST",默認是GET
    con.setRequestMethod("POST");
    // Post 請求不能使用緩存
    con.setUseCaches(false);
    // 設定傳送的內(nèi)容類型是可序列化的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請求返回狀態(tài)
    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();
  }

引用jar包:

import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import javax.net.ssl.HttpsURLConnection;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

以上這篇HttpsURLConnection上傳文件流(實例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringMVC接收與響應json數(shù)據(jù)的幾種方式

    SpringMVC接收與響應json數(shù)據(jù)的幾種方式

    這篇文章主要給大家介紹了關于SpringMVC接收與響應json數(shù)據(jù)的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用springmvc具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • Java聊天室之實現(xiàn)一個服務器與多個客戶端通信

    Java聊天室之實現(xiàn)一個服務器與多個客戶端通信

    這篇文章主要為大家詳細介紹了Java簡易聊天室之實現(xiàn)一個服務器與多個客戶端通信,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以了解一下
    2022-10-10
  • Gradle進階使用結合Sonarqube進行代碼審查的方法

    Gradle進階使用結合Sonarqube進行代碼審查的方法

    今天小編就為大家分享一篇關于Gradle進階使用結合Sonarqube進行代碼審查的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Java包含抽象方法的枚舉類示例

    Java包含抽象方法的枚舉類示例

    這篇文章主要介紹了Java包含抽象方法的枚舉類,結合實例形式分析了Java包含抽象方法的枚舉類實現(xiàn)方法與相關操作技巧,需要的朋友可以參考下
    2019-08-08
  • Maven項目打包為jar的四種方式

    Maven項目打包為jar的四種方式

    本文主要介紹了Maven項目打包為jar的四種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-10-10
  • SpringBoot使用Maven實現(xiàn)多環(huán)境配置管理

    SpringBoot使用Maven實現(xiàn)多環(huán)境配置管理

    軟件開發(fā)中經(jīng)常有開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境,而且一般這些環(huán)境配置會各不相同,本文主要介紹了SpringBoot使用Maven實現(xiàn)多環(huán)境配置管理,感興趣的可以了解一下
    2024-01-01
  • SpringBoot Event 事件如何實現(xiàn)異步延遲執(zhí)行

    SpringBoot Event 事件如何實現(xiàn)異步延遲執(zhí)行

    這篇文章主要介紹了Spring Boot Event 事件如何實現(xiàn)異步延遲執(zhí)行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • java 通過發(fā)送json,post請求,返回json數(shù)據(jù)的方法

    java 通過發(fā)送json,post請求,返回json數(shù)據(jù)的方法

    下面小編就為大家分享一篇java 通過發(fā)送json,post請求,返回json數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Java模仿微信實現(xiàn)零錢通簡易功能(兩種版本)

    Java模仿微信實現(xiàn)零錢通簡易功能(兩種版本)

    本文主要介紹了使用Java開發(fā)零錢通項目, 模仿微信實現(xiàn)簡易功能,可以完成收益入賬,消費,查看明細,退出系統(tǒng)等功能。文中一共介紹了兩種實現(xiàn)方法,快來學習吧
    2021-12-12
  • Java 坐標系相互轉換方式

    Java 坐標系相互轉換方式

    這篇文章主要介紹了Java中的坐標系相互轉換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論