È possibile utilizzare l'ultima versione di scarica da here. È uno specchio non ufficiale con qualche piccola correzione di bug e il codice sorgente verrà sincronizzato periodicamente con il repository ufficiale di volley.
per Gradle
compile 'com.mcxiaoke.volley:library:1.0.19'
oppure è possibile scaricare la versione compilata da here
Ora è possibile utilizzare la classe di seguito allegata per fare richiesta multipart utilizzando volley con l'aiuto di MultipartEntityBuilder
in org.apache.http.entity.mime
senza avere un codice deprecato.
CustomMultipartRequest.java
utilizzo Esempio
//Auth header
Map<String, String> mHeaderPart= new HashMap<>();
mHeaderPart.put("Content-type", "multipart/form-data;");
mHeaderPart.put("access_token", accessToken);
//File part
Map<String, File> mFilePartData= new HashMap<>();
mFilePartData.put("file", new File(mFilePath));
mFilePartData.put("file", new File(mFilePath));
//String part
Map<String, String> mStringPart= new HashMap<>();
mStringPart.put("profile_id","1");
mStringPart.put("imageType", "ProfileImage");
CustomMultipartRequest mCustomRequest = new CustomMultipartRequest(method, mContext, url, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
listener.onResponse(jsonObject);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
listener.onErrorResponse(volleyError);
}
}, mFilePartData, mStringPart, mHeaderPart);
entrambi i casi è possibile utilizzare httpmime-4.3.5.jar
e httpcore-4.3.2.jar
per ottenere l'accesso di MultipartEntityBuilder
e altri metodi che viene utilizzato per effettuare la richiesta o aggiungere quanto segue nel Gradle se la tua API di targeting 23 e successive.
android {
useLibrary 'org.apache.http.legacy'
}
Qualsiasi modo sto usando del vaso menzionato ed è funziona come un fascino in Android M anche.
Aggiornamento
Si prega di notare, com.mcxiaoke.volley:library:1.0.19
deprecato e non più mantenuto, si prega di utilizzare la versione ufficiale del jCenter
.
compile 'com.android.volley:volley:1.0.0'
** okhttp **. dai un'occhiata qui: https://github.com/square/okhttp/wiki/Recipes#posting-a-multipart-request – rafid059