<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java 發送http請求上傳文件功能案例

            時間:2025-04-20 16:12:59 java語言 我要投稿
            • 相關推薦

            Java 發送http請求上傳文件功能案例

              如何使用Java做一個http請求上傳文件的功能呢?下面是由百分網小編為大家整理的Java 發送http請求上傳文件功能案例,喜歡的可以收藏一下!了解更多詳情資訊,請關注應屆畢業生考試網!

              具體代碼如下所示:

              package wxapi.WxHelper;

              import java.io.BufferedReader;

              import java.io.DataInputStream;

              import java.io.DataOutputStream;

              import java.io.File;

              import java.io.FileInputStream;

              import java.io.IOException;

              import java.io.InputStreamReader;

              import java.io.OutputStream;

              import java.net.HttpURLConnection;

              import java.net.URL;

              import java.net.URLConnection;

              import java.util.Date;

              import java.util.Map;

              import java.util.Map.Entry;

              public class HttpRequestUtil {

              /**

              * 發送get請求

              *

              * @param requestUrl

              *      請求url

              * @param requestHeader

              *      請求頭

              * @param responseEncoding

              *      響應編碼

              * @return 頁面響應html

              */

              public static String sendGet(String requestUrl, Map<String, String> requestHeader, String responseEncoding) {

              String result = "";

              BufferedReader reader = null;

              try {

              if (requestUrl == null || requestUrl.isEmpty()) {

              return result;

              }

              URL realUrl = new URL(requestUrl);

              URLConnection connection = realUrl.openConnection();

              connection.setRequestProperty("accept", "text/html, application/xhtml+xml, image/jxr, */*");

              connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0");

              if (requestHeader != null && requestHeader.size() > 0) {

              for (Entry<String, String> entry : requestHeader.entrySet()) {

              connection.setRequestProperty(entry.getKey(), entry.getValue());

              }

              }

              connection.connect();

              if (responseEncoding == null || responseEncoding.isEmpty()) {

              responseEncoding = "UTF-8";

              }

              reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), responseEncoding));

              String line;

              while ((line = reader.readLine()) != null) {

              result += line;

              }

              } catch (Exception e) {

              System.out.println("發送GET請求出現異常!");

              e.printStackTrace();

              } finally {

              try {

              if (reader != null) {

              reader.close();

              }

              } catch (Exception e) {

              e.printStackTrace();

              }

              }

              return result;

              }

              /**

              * 發送post請求

              *

              * @param requestUrl

              *      請求url

              * @param requestHeader

              *      請求頭

              * @param formTexts

              *      表單數據

              * @param files

              *      上傳文件

              * @param requestEncoding

              *      請求編碼

              * @param responseEncoding

              *      響應編碼

              * @return 頁面響應html

              */

              public static String sendPost(String requestUrl, Map<String, String> requestHeader, Map<String, String> formTexts, Map<String, String> files, String requestEncoding, String responseEncoding) {

              OutputStream out = null;

              BufferedReader reader = null;

              String result = "";

              try {

              if (requestUrl == null || requestUrl.isEmpty()) {

              return result;

              }

              URL realUrl = new URL(requestUrl);

              HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();

              connection.setRequestProperty("accept", "text/html, application/xhtml+xml, image/jxr, */*");

              connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0");

              if (requestHeader != null && requestHeader.size() > 0) {

              for (Entry<String, String> entry : requestHeader.entrySet()) {

              connection.setRequestProperty(entry.getKey(), entry.getValue());

              }

              }

              connection.setDoOutput(true);

              connection.setDoInput(true);

              connection.setRequestMethod("POST");

              if (requestEncoding == null || requestEncoding.isEmpty()) {

              requestEncoding = "UTF-8";

              }

              if (responseEncoding == null || responseEncoding.isEmpty()) {

              responseEncoding = "UTF-8";

              }

              if (requestHeader != null && requestHeader.size() > 0) {

              for (Entry<String, String> entry : requestHeader.entrySet()) {

              connection.setRequestProperty(entry.getKey(), entry.getValue());

              }

              }

              if (files == null || files.size() == 0) {

              connection.setRequestProperty("content-type", "application/x-www-form-urlencoded");

              out = new DataOutputStream(connection.getOutputStream());

              if (formTexts != null && formTexts.size() > 0) {

              String formData = "";

              for (Entry<String, String> entry : formTexts.entrySet()) {

              formData += entry.getKey() + "=" + entry.getValue() + "&";

              }

              formData = formData.substring(0, formData.length() - 1);

              out.write(formData.toString().getBytes(requestEncoding));

              }

              } else {

              String boundary = "-----------------------------" + String.valueOf(new Date().getTime());

              connection.setRequestProperty("content-type", "multipart/form-data; boundary=" + boundary);

              out = new DataOutputStream(connection.getOutputStream());

              if (formTexts != null && formTexts.size() > 0) {

              StringBuilder sbFormData = new StringBuilder();

              for (Entry<String, String> entry : formTexts.entrySet()) {

              sbFormData.append("--" + boundary + "\r\n");

              sbFormData.append("Content-Disposition: form-data; name=\"" + entry.getKey() + "\"\r\n\r\n");

              sbFormData.append(entry.getValue() + "\r\n");

              }

              out.write(sbFormData.toString().getBytes(requestEncoding));

              }

              for (Entry<String, String> entry : files.entrySet()) {

              String fileName = entry.getKey();

              String filePath = entry.getValue();

              if (fileName == null || fileName.isEmpty() || filePath == null || filePath.isEmpty()) {

              continue;

              }

              File file = new File(filePath);

              if (!file.exists()) {

              continue;

              }

              out.write(("--" + boundary + "\r\n").getBytes(requestEncoding));

              out.write(("Content-Disposition: form-data; name=\"" + fileName + "\"; filename=\"" + file.getName() + "\"\r\n").getBytes(requestEncoding));

              out.write(("Content-Type: application/x-msdownload\r\n\r\n").getBytes(requestEncoding));

              DataInputStream in = new DataInputStream(new FileInputStream(file));

              int bytes = 0;

              byte[] bufferOut = new byte[1024];

              while ((bytes = in.read(bufferOut)) != -1) {

              out.write(bufferOut, 0, bytes);

              }

              in.close();

              out.write(("\r\n").getBytes(requestEncoding));

              }

              out.write(("--" + boundary + "--").getBytes(requestEncoding));

              }

              out.flush();

              out.close();

              out = null;

              reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), responseEncoding));

              String line;

              while ((line = reader.readLine()) != null) {

              result += line;

              }

              } catch (Exception e) {

              System.out.println("發送POST請求出現異常!");

              e.printStackTrace();

              } finally {

              try {

              if (out != null) {

              out.close();

              }

              if (reader != null) {

              reader.close();

              }

              } catch (IOException ex) {

              ex.printStackTrace();

              }

              }

              return result;

              }

              }

            【Java 發送http請求上傳文件功能案例】相關文章:

            java如何利用java.net.URLConnection發送HTTP請求08-05

            JAVA如何獲取HTTP請求頭10-22

            關于java實現http請求工具類示例09-09

            php實現文件上傳及頭像預覽功能10-17

            java上傳文件到七牛云中09-23

            PHP實現文件上傳和多文件上傳07-31

            JavaWeb如何實現文件上傳下載功能08-23

            Html5如何實現文件異步上傳功能09-16

            php文件怎么上傳06-21

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看