Hello Friends,
Hope This Will Helps Some
one.
Cheers :)
Enjoy Coding... :)
I'm trying to upload image to my server in Android..???
After spending a lots of time , I came across Multipart image
Upload.Using this
we can easily upload image as well as file on our
server.
Note: The method upload the image using http
multipart form data.
In my condition , My web web service method(upload_image) requires
three parameter .
1. A text message
2. Image or Template Id
3. Icon or Image in byte array format with filename.
Also , I have to pass user token which i am saving into share preference,
when user successfully logged in. Also the API Version which is nothing
but a string(e.g 1.1) which will be saved in my Config Class.
Please , Change the above parameter and post url as per your requirement.
In my condition , My web web service method(upload_image) requires
three parameter .
1. A text message
2. Image or Template Id
3. Icon or Image in byte array format with filename.
Also , I have to pass user token which i am saving into share preference,
when user successfully logged in. Also the API Version which is nothing
but a string(e.g 1.1) which will be saved in my Config Class.
Please , Change the above parameter and post url as per your requirement.
Note: Here , Instead of using android default HTTP
client , I am using the
Apache Http client. Download it from Here
Apache Http client. Download it from Here
And placed it inside your project lib folder.
/**
* Method uploads the image using HTTP Multipart form data.
*
* @param imageData
* @param filename
* @param icon
* @return
* @throws Exception
*/
public static boolean uploadImage(final byte[] imageData, String filename ,
String message) throws Exception{
String responseString = null;
PostMethod method;
String auth_token = Preference.getAuthToken(mContext);
method = new
PostMethod("http://10.0.2.20/"+
"upload_image/" +Config.getApiVersion()
+ "/" +auth_token);
+ "/" +auth_token);
org.apache.commons.httpclient.HttpClient client = new
org.apache.commons.httpclient.HttpClient();
org.apache.commons.httpclient.HttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(
100000);
FilePart
photo = new FilePart("icon",
new ByteArrayPartSource( filename, imageData));
new ByteArrayPartSource( filename, imageData));
photo.setContentType("image/png");
photo.setCharSet(null);
String s
= new String(imageData);
Part[] parts
= {
new
StringPart("message_text", message),
new
StringPart("template_id","1"),
photo
};
method.setRequestEntity(new
MultipartRequestEntity(parts, method.getParams()));
MultipartRequestEntity(parts, method.getParams()));
client.executeMethod(method);
responseString =
method.getResponseBodyAsString();
method.releaseConnection();
Log.e("httpPost", "Response status: " +
responseString);
if (responseString.equals("SUCCESS"))
{
return
true;
} else {
return
false;
}
}
Cheers :)
Enjoy Coding... :)