Задать вопрос
  • Почему не отправляется файл через post запрос?

    @zibitos Автор вопроса
    изменил отправку
    public Boolean SendImage_ms(String serverURL) {
    try {

    Bitmap image = photo_img_ms;
    String id_ms = ID_Item.toString();
    String filename = "image.png";

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    image.compress(Bitmap.CompressFormat.PNG, 10, baos);

    RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
    .addFormDataPart("file", filename,
    RequestBody.create(MEDIA_TYPE_PNG,
    baos.toByteArray()))
    .addFormDataPart("id", id_ms)
    .addFormDataPart("api_key", api_key)
    .build();

    Request request = new Request.Builder()
    .url(serverURL)
    .addHeader("Content-Type", "multipart/form-data; boundary=something")
    .post(body)
    .build();

    OkHttpClient client = new OkHttpClient.Builder()
    .addInterceptor(new LoggingInterceptor())
    .writeTimeout(600, TimeUnit.SECONDS)
    .readTimeout(600, TimeUnit.SECONDS)
    .retryOnConnectionFailure(true)
    .build();

    client.newCall(request).enqueue(new Callback() {

    @Override
    public void onFailure(@NonNull Call call, @NonNull IOException e) {
    System.out.println(e.toString());
    }

    @Override
    public void onResponse(final Call call, final Response response) throws IOException {
    if (!response.isSuccessful()) {
    System.out.println("error");
    }
    System.out.println(response.body().string());
    }
    });

    return true;
    } catch (Exception ex) {
    System.out.println(ex.toString());
    // Handle the error
    }
    return false;
    }

    class LoggingInterceptor implements Interceptor {
    @Override public Response intercept(Chain chain) throws IOException {
    Request request = chain.request();

    long t1 = System.nanoTime();
    Log.d("OkHttp", String.format("Sending request %s on %s%n%s",
    request.url(), chain.connection(), request.headers(), request.body(),request.toString()));

    Response response = chain.proceed(request);

    long t2 = System.nanoTime();
    Log.d("OkHttp", String.format("Received response for %s in %.1fms%n%s",
    response.request().url(), (t2 - t1) / 1e6d, response.headers()));

    return response;
    }
    }
    в эмуляторе что меньше 2 кб отправляется
    с телефона не уходит (размер 30 -50 кб) пишет I/System.out: java.io.IOException: unexpected end of stream on http://
    что может быть не подскажите?
  • Почему не отправляется файл через post запрос?

    @zibitos Автор вопроса
    RequestBody.create(MediaType.parse("application/octet-stream"),
    baos.toByteArray())
    так получается
    , а что может быть php не видит пост запрос, нет файлов и параметров?
  • Почему не отправляется файл через post запрос?

    @zibitos Автор вопроса
    А может не подскажите как можно передать без сохранения на диск есть переменная image картинка с камеры
  • Почему не отправляется файл через post запрос?

    @zibitos Автор вопроса
    из-за этого может?
  • Почему не отправляется файл через post запрос?

    @zibitos Автор вопроса
    Пробовал через Postman отправлять файл на сервер
    файлы загружаются
    тайминги пробовал ставить на 5 мин тоже не помогает
    как стоит убрать
    .addFormDataPart("file", "image.png",
    RequestBody.create(MEDIA_TYPE_PNG, new File(path+"/image.png")))
    на сервер запрос сразу уходит

    не подскажите а как проверить что на сервер уходит с андройда