Cómo enviar datos con la carga de archivos al servidor

Actualmente estoy cargando un archivo en Android. Ahora quiero enviar algunos datos, digamos e ID con esa carga de archivo. Así que me ocuparé de esta ID en el lado del servidor. Así es como estoy cargando el archivo. Este código funciona perfectamente bien.

Aqui esta el codigo

public int uploadFile(String sourceFileUri, final String imageName) {
    //Toast.makeText(getApplicationContext(), imageName, Toast.LENGTH_LONG).show();
    String upLoadServerUri = "http://www.example.com/android/fileupload.php";
    String fileName = sourceFileUri;
    //Toast.makeText(getApplicationContext(), sourceFileUri, Toast.LENGTH_LONG).show();
    HttpURLConnection conn = null;
    DataOutputStream dos = null;
    String lineEnd = "\r\n";
    String twoHyphens = "--";
    String boundary = "*****";
    int bytesRead, bytesAvailable, bufferSize;
    byte[] buffer;
    int maxBufferSize = 1 * 1024 * 1024;

    File sourceFile = new File(sourceFileUri);
    if (!sourceFile.isFile()) {
        Log.e("uploadFile", "Source File Does not exist");
        return 0;
    }

    try { 
        // open a URL connection to the Servlet
        FileInputStream fileInputStream = new FileInputStream(sourceFile);
        URL url = new URL(upLoadServerUri);
        conn = (HttpURLConnection) url.openConnection(); // Open a HTTP  connection to  the URL
        conn.setDoInput(true); // Allow Inputs
        conn.setDoOutput(true); // Allow Outputs
        conn.setUseCaches(false); // Don't use a Cached Copy
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Connection", "Keep-Alive");
        conn.setRequestProperty("ENCTYPE", "multipart/form-data");
        conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
        conn.setRequestProperty("uploaded_file", fileName);
        dos = new DataOutputStream(conn.getOutputStream());

        dos.writeBytes(twoHyphens + boundary + lineEnd);
        dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\""+ fileName + "\"" + lineEnd);
        dos.writeBytes(lineEnd);

        bytesAvailable = fileInputStream.available(); // create a buffer of  maximum size

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

         // read file and write it into form...
        bytesRead = fileInputStream.read(buffer, 0, bufferSize);  

        while (bytesRead > 0) {
             dos.write(buffer, 0, bufferSize);
             bytesAvailable = fileInputStream.available();
             bufferSize = Math.min(bytesAvailable, maxBufferSize);
             bytesRead = fileInputStream.read(buffer, 0, bufferSize);
        }

        // send multipart form data necesssary after file data...
        dos.writeBytes(lineEnd);
        dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

        // Responses from the server (code and message)
        serverResponseCode = conn.getResponseCode();
        String serverResponseMessage = conn.getResponseMessage();

        Log.i("uploadFile", "HTTP Response is : " + serverResponseMessage + ": " + serverResponseCode);
        if(serverResponseCode == 200){
            runOnUiThread(new Runnable() {
                 public void run() {
                     //tv.setText("File Upload Completed.");
                     if(fileData(globalUID, imageName)) {
                         Toast.makeText(Camera.this, "File Upload Complete.", Toast.LENGTH_SHORT).show();
                     }
                 }
            });
        }
        //close the streams //
        fileInputStream.close();
        dos.flush();
        dos.close();

    } catch (MalformedURLException ex) {
        dialog.dismiss();
        ex.printStackTrace();
        Toast.makeText(Camera.this, "MalformedURLException", Toast.LENGTH_SHORT).show();
        Log.e("Upload file to server", "error: " + ex.getMessage(), ex);
    } catch (Exception e) {
        dialog.dismiss();
        e.printStackTrace();
        Toast.makeText(Camera.this, "Exception : " + e.getMessage(), Toast.LENGTH_SHORT).show();
        Log.e("Upload file to server Exception", "Exception : " + e.getMessage(), e);
    }

    dialog.dismiss();
    return serverResponseCode;
}
Respuesta 1

Mi cadena json se produce de la siguiente manera: encabezado ('Tipo de contenido: texto / json'); if (mysql_num_rows ($ result)! = 0) {$ row = mysql_fetch_assoc ($ result); $ jobj = new stdclass (); ...

Primero Scenerio cargó una textura con Stick-util.jar, donde el tamaño de la imagen = 50x50 y el tamaño de la textura = 64x64. Limitó la textura y dibujó un Quad de tamaño 64x64. Y da una imagen de tamaño 50x50. ...

El siguiente es el código sobre el que estoy preguntando: int price = 0; boolean isFree = (precio == 0); if (isFree) {precio = 10; if (isFree) System.out.println ("uno"); más ...

Quiero reproducir la URL en mi aplicación, pero cuando uso la biblioteca de exoplayer, se produce un error, mientras que si uso el reproductor multimedia estándar, todo estará bien y se reproducirá el mp3. Por favor ...