samedi 10 janvier 2015

Android upload image to Blobstore from Google Endpoints


Vote count:

0




I use Google Endpoints for my Android application. I want to upload an image to Blobstore:


Endpoint to get upload url:



@ApiMethod(name = "generateImageUploadUrl")
public UploadUrl generateImageUploadUrl() {
BlobstoreService blobstoreService =
BlobstoreServiceFactory.getBlobstoreService();

String blobUploadUrl = blobstoreService.createUploadUrl("/blob/upload");
return new UploadUrl(blobUploadUrl); // UploadUrl is an inner class to store the url
}


Code in Android app to upload image:



HttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(url);
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
try{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 75, bos);
byte[] data = bos.toByteArray();
ByteArrayBody bab = new ByteArrayBody(data, "forest.jpg");
reqEntity.addPart("picture", bab);

postRequest.setEntity(reqEntity);
HttpResponse response = httpClient.execute(postRequest);
HttpEntity entity = response.getEntity();
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
String sResponse;
StringBuilder s = new StringBuilder();
while ((sResponse = reader.readLine()) != null) {
s = s.append(sResponse);
}

s.toString();
}
catch(Exception e){
e.getCause();
}


How do I get the final URL of the image?



asked 43 secs ago







Android upload image to Blobstore from Google Endpoints

Aucun commentaire:

Enregistrer un commentaire