Отправка файла и параметра с помощью HTTPURLConnection в Android

В настоящее время я использую класс HTTPURLConnection в Android для отправки некоторых изображений на свой php-сервер. Передача изображений выполняется нормально, но основная проблема в том, что мне также нужно отправить параметр (например, число, например: 2). И я действительно не знаю, как это сделать. И когда я тоже передаю параметр, как я могу его получить и использовать на моем php-сервере?

Это мой код:

        URL url = new URL(url_path);
        conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setUseCaches(false);
        conn.setDoInput(true);
        conn.setChunkedStreamingMode(1024);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Connection", "Keep-Alive");
        conn.setRequestProperty("Content-Type", "multipart/form-data");

        OutputStream outputStream = conn.getOutputStream();
        InputStream inputStream = c.getContentResolver().openInputStream(path);

        int bytesAvailable = inputStream.available();
        int bufferSize = Math.min(bytesAvailable, maxBufferSize);
        byte[] buffer = new byte[bufferSize];

        int bytesRead;
        while ((bytesRead = inputStream.read(buffer, 0, bufferSize)) != -1) {
            outputStream.write(buffer, 0, bytesRead); //Sending the image
            //Here is where I need the parameter to be sent too.

        }
        outputStream.flush();
        inputStream.close();

        BufferedReader reader = new BufferedReader(new InputStreamReader(
                conn.getInputStream()));
        String line;
        while ((line = reader.readLine()) != null) {
            Log.i("result", line);
        }
        reader.close();
        conn.disconnect();

А это мой php-код, довольно простой:

<?php
    $file_name = date("U").".jpg"; //I'm going to use the parameter here
    $server_path = "uploads/";
    $web_path = "http://xxxxxxxxxxxxxxxxxxxxxxx/";
    $file = $server_path.$file_name;
    file_put_contents($file,"");


    $fp = fopen("php://input", 'r');
    while ($buffer =  fread($fp, 8192)) {
        file_put_contents($file,$buffer,FILE_APPEND | LOCK_EX);
    }
    echo $web_path.$file_name;
   ?>

Большое спасибо!

Вы можете найти ответы здесь: Добавить и отправить параметр на PHP-сервер в AndroidДобавить и отправить параметр на PHP-сервер в Android - 2 Надеюсь, это поможет!

Shreya 16.03.2018 05:51

Спасибо! Но, к сожалению, это не сработало.

Arturo Aguilera 16.03.2018 06:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
124
0

Другие вопросы по теме