Я занимаюсь разработкой приложения для Android, все очень просто: пользователь делает снимок и загружает его на сервер. У меня есть одна проблема: я обычно загружаю изображение на серверы, преобразовывая их в строку base64, но в этом случае сервер не принимает строки base64, но хочет получить полное изображение. Например, я могу загружать изображения, используя curl -F datafile = "@ myImage.png" http://www.myUrl.com/up.php,, но я не могу использовать curl в Android, так как я могу загрузить растровое изображение (изображение, которое делает пользователь), не конвертируя егов строку base64, но «притворяется» использовать curl?
Вот как я обычно отправляю что-то через http:
public static void send(String send) throws IOException {
HttpURLConnection urlConnection = null;
URL url = new URL(MessageFormat.format("http://wwww.exaple.com/index.php/",""));
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setReadTimeout(10000);
urlConnection.setConnectTimeout(15000);
urlConnection.setDoOutput(true);
urlConnection.setDoInput (true);
urlConnection.connect();
DataOutputStream outputStream = new DataOutputStream(urlConnection.getOutputStream());
JSONObject param = new JSONObject();
try {
param.put("datafile", send);
} catch (JSONException e) {
e.printStackTrace();
Log.d("---------", "error");
}
Log.d("", param.toString());
outputStream.writeChars(param.toString());
outputStream.flush();
outputStream.close();
}