由于输入结束,没有要映射到Object的内容

时间:2013-05-01 09:38:41

标签: android post http-post

我正在尝试使用Apache HTTP Post将图像发布到REST服务。我的示例是。

POST / Example / HTTP / 1.1 User-Agent:curl / 7.23.1 libcurl / 7.23.1 OpenSSL / 0.9.8r 主持人:www。 ** .com / 443 接受:application / json 授权:承载访问令牌 内容长度:32741 内容类型:multipart / form-data;边界= --------- a24d743fe

我正在使用以下代码。

HttpPost httppost = new HttpPost(str);          
StringEntity se;
try {

httppost.setHeader("Content-Type","multipart/form-data;boundary=---------a24d743fe");
httppost.addHeader("Accept","application/json");
httppost.addHeader("Authorization", "Bearer " + token.getAccessToken());

MultipartEntity entity = new MultipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE);
Log.d("uri",getRealPathFromURI(imageUri));
File file= new File(getRealPathFromURI(imageUri));
if(file.exists())
{
    Log.d("file","exists");
    entity.addPart("image data", new FileBody(file));
}

httppost.setEntity(entity);
HttpClient httpclient = new DefaultHttpClient();
BasicHttpResponse httpResponse = 
(BasicHttpResponse) httpclient.execute(httppost);

Log.d("HTTPStatus",httpResponse.getStatusLine().toString());

但是我收到以下错误。

05-01 10:18:31.400:D / response(1872):{“errorCode”:600000,“errorType”:“service_error”,“message”:“由于输入结束,没有要映射到Object的内容”, “的correlationID”: “9331d2343b721”}

我真的被困住了,非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您应该检查是否设置了“内容长度”标题。