Я недавно создал код, который отправляет mp3 как base64 в запросе http следующим образом:
public String sendPost(String json) {
try {
HttpPost request = new HttpPost(System.getenv("url"));
StringEntity params;
if (json.equalsIgnoreCase("")) {
params = new StringEntity("{}");
} else {
params = new StringEntity(json);
}
request.addHeader(System.getenv("tokensource"), System.getenv("tokenvalue"));
request.setEntity(params);
HttpResponse httpResponse = client.execute(request);
return EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Однако я обнаружил, что это не может отправлять большие файлы, поэтому я ищу вместо этого отправьте данные в виде байтового массива. Будет ли работать следующий код? Http еще не проходит, но это могут быть настройки на стороне сервера.
public String sendPost(byte[] json) {
try {
HttpPost request = new HttpPost(System.getenv("url"));
request.addHeader(System.getenv("tokensource"), System.getenv("tokenvalue"));
request.setEntity(new ByteArrayEntity(json));
HttpResponse httpResponse = client.execute(request);
return EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}