Cela fonctionne très bien pour les fichiers. J'ai marqué l'emplacement nécessitant un refactoring pour le faire fonctionner avec un bitmap. Je n'arrive pas à trouver un ContentBody compatible pour .addPart. Le problème que j'essaye de résoudre est que j'ai déjà l'image dans un ImageView dans une Activité, ainsi plutôt que de la relire du SD cara, je veux la passer directement à cette méthode. Je vais probablement l'escalader pendant que je suis là.Aide Refactoring méthode de travail Pour charger BitMap (au lieu de fichier) Pour PHP Server
J'ai trouvé un indice dans ce code, mais il ne semble pas être compatible Android
Part[] parts = {
new FilePart("pictureFile", new
ByteArrayPartSource ("pictureFile", getBytes (bitmap))), };
Je suis tellement Freak'n perdu :(
Toutes les idées TIA
public JSONArray uploadUserPhoto(String fileToSend, boolean isPrimary) {
String url = "http://www.nationwidearbitrationandmediation.com/ia/android/uploadImage.php";
JSONArray jsonArray = null;
try {
HttpClient client = new DefaultHttpClient();
client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpPost post = new HttpPost(url);
//try adding these
post.getParams().setParameter("http.protocol.expect-continue", false);
post.getParams().setParameter("http.protocol.content-charset", "UTF-8");
post.getParams().setParameter("http.protocol.reject-relative-redirect", false);
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("ip", new StringBody(Boolean.toString(isPrimary), "text/plain", Charset.forName("UTF-8")));
/*** NEED HELP HERE ****/
File fileToUpload = new File(fileToSend); //get file from name
Log.d(TAG,"FileSize: " + fileToUpload.length()); //good time to test if file is larger than maxFileSize
FileBody fileBody = new FileBody(fileToUpload, "image/jpg");
reqEntity.addPart("uploadedfile", fileBody);
/***** DONE *****/
post.setEntity(reqEntity);
HttpResponse response = client.execute(post);
HttpEntity resEntity = response.getEntity();
String serverResponse = EntityUtils.toString(resEntity);
client.getConnectionManager().shutdown();
Log.i("RESPONSE",serverResponse);
return new JSONArray(serverResponse);
} catch (Exception e) {
Log.i(TAG,"Error: " + e.toString());
return jsonArray;
}
} // uploadUserPhoto