我正在尝试使用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”}
我真的被困住了,非常感谢任何帮助!
答案 0 :(得分:0)
您应该检查是否设置了“内容长度”标题。