Modo 1 binary/octet-stream
public void uploadPhoto(File file){
String fileName = file.getName();
if(fileName.contains(".")){
fileName = fileName.substring(0, fileName.indexOf("."));
}
try {
fileName = URLEncoder.encode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String url = "http://fbproxy.azurewebsites.net/RedNoseDay.svc/UploadPhoto/"+fileName+"/";
//String url = "http://fbproxy.azurewebsites.net/RedNoseDay.svc/DoWork/";
if(file.exists()) {
InputStreamEntity entity = null;
try {
entity = new InputStreamEntity(
new FileInputStream(file), -1);
entity.setContentType("binary/octet-stream");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
cliente.post(context, url, entity, "binary/octet-stream", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String result = null;
if(responseBody != null) {
result = new String(responseBody);
}
if(main != null){
main.onServiceMessageSuccess(result);
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
String result = null;
if(responseBody != null) {
result = new String(responseBody);
}
if(main != null){
main.onServiceMessage(result);
}
}
});
}
else{
main.onServiceMessage("Arquivo não encontrado");
}
}
Modo 2 multipart form data