Java 带有post多部分/表单数据的HttpURLConnection

Java 带有post多部分/表单数据的HttpURLConnection,java,php,android,post,httpurlconnection,Java,Php,Android,Post,Httpurlconnection,我需要将文件上载到服务器,但我不知道如何执行POST请求,该请求应与以下html代码相同: <form enctype="multipart/form-data" method="post" action="https://example.net/api_upload.php"> 谢谢 也许对你有帮助。 JSONArray jsonArray = null; String jsonString = null; HttpURLConne

我需要将文件上载到服务器,但我不知道如何执行POST请求,该请求应与以下html代码相同:

<form enctype="multipart/form-data" method="post" action="https://example.net/api_upload.php">
谢谢

也许对你有帮助。
        JSONArray jsonArray = null;
        String jsonString = null;
        HttpURLConnection conn = null;
        String line;

        URL url;
        try
        {
            url = new URL(serviceUrl);
        }
        catch (MalformedURLException e)
        {
            throw new IllegalArgumentException("invalid url: " + serviceUrl);
        }

        try {

            conn = (HttpURLConnection) url.openConnection();
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Content-Type", "application/json");
            conn.connect();
            // post the request
            // handle the response
            int status = conn.getResponseCode();

            Log.w("getJSONStringWithParam", "Response Status = " + status);
            if (status != 200) {
                throw new IOException("Post failed with error code " + status);
            }

            BufferedReader  bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            StringBuilder stringBuilder = new StringBuilder();


            while ((line = bufferedReader.readLine()) != null)
            {
                stringBuilder.append(line + '\n');
            }

            jsonString = stringBuilder.toString();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            conn.disconnect();
        }

        return jsonString;