- Android: upload photos
- public class Uploader{
- public void upload(){
- Log.i("EOH","hi...");
- Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
- photoPickerIntent.setType("image/*");
- startActivityForResult(photoPickerIntent, 1);
- }
- protected void onActivityResult(int requestCode, int resultCode, Intent data)
- {
- if (resultCode == RESULT_OK)
- {
- Bundle extras = data.getExtras();
- Bitmap b = (Bitmap) extras.get("data");
- //what do do now with this Bitmap...
- //how do I upload it?
- }
- }
- }
- List<NameValuePair> params = new ArrayList<NameValuePair>(2);
- params.add(new BasicNameValuePair("someValA", String.valueOf(lat)));
- params.add(new BasicNameValuePair("someValB", String.valueOf(lng)));
- new HttpConnection(handler).post("http://myurl.com/upload.php",params);
- protected void onActivityResult(int requestCode, int resultCode, Intent data)
- {
- if (resultCode == RESULT_OK)
- {
- Uri imageUri=data.getData();
- List<NameValuePair> params = new ArrayList<NameValuePair>(1);
- params.add(new BasicNameValuePair("image", imageUri.getPath()));
- post("http://www.myurl.com/ajax/uploadPhoto.php",params);
- }
- }
- public void post(String url, List<NameValuePair> nameValuePairs) {
- HttpClient httpClient = new DefaultHttpClient();
- HttpContext localContext = new BasicHttpContext();
- HttpPost httpPost = new HttpPost(url);
- try {
- MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
- for(int index=0; index < nameValuePairs.size(); index++) {
- if(nameValuePairs.get(index).getName().equalsIgnoreCase("image")) {
- // If the key equals to "image", we use FileBody to transfer the data
- entity.addPart(nameValuePairs.get(index).getName(), new FileBody(new File (nameValuePairs.get(index).getValue())));
- }else{
- // Normal string data
- entity.addPart(nameValuePairs.get(index).getName(), new StringBody(nameValuePairs.get(index).getValue()));
- }
- }
- httpPost.setEntity(entity);
- HttpResponse response = httpClient.execute(httpPost, localContext);
- Log.i("EOH",response.toString());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }