I am trying to send a image to my API. but while using MultipartEntity StringBody i get error as StringBody(String) is deprecated.
I doesn't work. I so a sample at Android sending image to Server via MultipartEntity - setting Content-type?.
this is the code:
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("api_key", api_key));
params.add(new BasicNameValuePair("access_token", access_token));
API api = new API(mApiKey, mApiSecret);
HttpClient client = new DefaultHttpClient();
HttpPost postMethod = new HttpPost("MY API URL");
File file = new File(imagePath);
MultipartEntity entity = new MultipartEntity();
FileBody contentFile = new FileBody(file);
StringBody api_key = new StringBody(mApiKey);
StringBody access_token = new StringBody(access_token);
entity.addPart("api_key", api_key);
entity.addPart("hash", access_token);
entity.addPart("image", contentFile);
postMethod.setEntity(entity);
client.execute(postMethod);
} catch (Exception e) {
e.printStackTrace();
}
The constructor that you use to create a new instance of StringBody
is deprecated.
Instead of
new StringBody(mApiKey);
you should use a StringBody
constructor with a second parameter that is a ContentType
like
new StringBody(mApiKey, ContentType.TEXT_PLAIN);
For further information look at:
http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/content/StringBody.html
and
http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/entity/ContentType.html
StringBody :
entity.addPart("api_key", new StringBody(mApiKey,ContentType.TEXT_PLAIN));
MultipartEntity :
Check : The type MultipartEntity is deprecated
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With