Как загрузить файл WAV с помощью URLConnection

Конечно, я могу загрузить файлы .wav, используя эту команду в Терминале (MAC):

curl -H 'X-Arg: AccessKey=3f55abc5-2830-027ce-e328-4e74df5a3f8f' --data-binary @audio.wav -H 'Content-Type: audio/wav' http://generic-15327.2-3-11.com/bbb.aaa.eval/abc

Я хочу сделать то же самое с Android. До сих пор я реализовал AsyncTask с URLConnection внутри, я отправляю заголовки и все, кроме волнового файла. Получите ответ json, говорящий о том, что ни один файл не был загружен, очевидно, но пока все хорошо, я знаю, что правильно реализовал заголовки и подключение. Теперь я хочу загрузить файл .wav, чтобы все обернуть, но я немного растерялся. Как я могу загрузить файл .wav в Android, используя URLConnection ??? Ниже приведен мой код, он находится внутри AsyncTask, который я не буду помещать для краткости:

         URL obj = new URL(BASE_URL);
                        HttpURLConnection conn = (HttpURLConnection) obj.openConnection();

                        conn.setRequestProperty("X-Arg", "AccessKey=3fcb4985-2830-07ce-e998-4e74df5a3f8f");
                        conn.setRequestProperty("Content-Type", "audio/wav");
                        conn.setRequestMethod("POST");
                        conn.setDoInput(true);
                        conn.setDoOutput(true);

                        String wavpath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/audio.wav";
                        File wavfile = new File(wavpath);
                        boolean success = true;
                        if (wavfile.exists()) {
                            app.loge("**** audio.wav DETECTED");
                        }
                        else{
                            app.loge("**** audio.wav MISSING");
                        }
                     conn.connect();

    //CODE TO UPLOAD THE FILE SHOULD GO HERE!!

                    int responseCode = conn.getResponseCode();
                    app.logy("POST Response Code : " + responseCode);

//Fetch response JSON
                    if (responseCode == HttpURLConnection.HTTP_OK) { //success
                        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                        String inputLine;
                        StringBuffer response = new StringBuffer();

                        while ((inputLine = in.readLine()) != null) {
                            response.append(inputLine);
                        }
                        in.close();
                        app.loge(response.toString());
                        result = 1;
                    } else {
                        app.loge("POST FAILED");
                        result = 0;
                    }

Ответы на вопрос(2)

Ваш ответ на вопрос