Questo è un modo semplice per inviare file da Android.Caricamento di file e altri dati da Android tramite Http POST request
String url = "http://yourserver.com/upload.php";
File file = new File("myfileuri");
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
InputStreamEntity reqEntity = new InputStreamEntity(new FileInputStream(file), -1);
reqEntity.setContentType("binary/octet-stream");
reqEntity.setChunked(true); // Send in multiple parts if needed
httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);
//Do something with response...
} catch (Exception e) {
e.printStackTrace();
}
Quello che voglio fare è aggiungere più variabili POST
alla mia richiesta. Come lo faccio? Durante il caricamento di stringhe semplici nella richiesta POST
, usiamo URLEncodedFormEntity
.
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
Mentre durante il caricamento dei file, usiamo InputStreamEntity
.
Inoltre, come caricare questo file in modo specifico su $_FILES['myfilename']
?
provare a utilizzare asynctask..you può usare un HashMap se si desidera caricare diversi tipi di variabili –
ovviamente userò AsyncTask. e sì solitamente viene utilizzata l'hashmap delle coppie nome-valore per l'invio di più variabili. Ma i tipi di entità per String e File sono diversi. Questo mi confonde. – shiladitya
usa la richiesta multipart – njzk2