Publier un fichier avec d'autres données de formulaire à l'aide de HttpURLConnection

Im essayant de publier un fichier à un API de la mine, le long de avec d'autres paramètres.

Par exemple. POST /médias
avec les paramètres

filename = 'test.png'

fichier = -le-réelle-fichier-

Je peux le faire avec succès avec Facteur (en utilisant le formulaire de données), de sorte que l'api côté des choses sont très bien.

Voici mon code android à l'aide de HttpURLConnection:

nameValuePairs.add(new BasicNameValuePair("filename", "test.png"));

URL object = new URL(url);
HttpURLConnection connection = (HttpURLConnection) object.openConnection();
connection.setReadTimeout(60 * 1000);
connection.setConnectTimeout(60 * 1000);
String auth = username+":"+password;
    byte[] data = auth.getBytes();
    String encodeAuth = "Basic " + Base64.encodeToString(data, Base64.DEFAULT);
    connection.setDoInput(true);
    connection.setDoOutput(true);
    connection.setUseCaches(false);
    connection.setRequestProperty("Authorization", encodeAuth);
    connection.setRequestProperty("Accept", ACCEPT);
    connection.setRequestMethod("POST");
    connection.setRequestProperty("ENCTYPE", "multipart/form-data");
    connection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
    dataOutputStream = new DataOutputStream(connection.getOutputStream());
    writer = new BufferedWriter(new OutputStreamWriter(dataOutputStream, "UTF-8"));
    writer.write(getQuery(nameValuePairs));

     writer.write("&file=" + "image.jpg");
     writer.write
     File file = getFile(item);
     if (file == null) {
      Log.e("uploadFile", "Source File not exist " );
     } else {
      addFilePart("file", file);
     }
    }
    writer.flush();
    writer.close();
    dataOutputStream.close();


    connection.connect();

OriginalL'auteur Parampal Pooni | 2016-01-21