【发布时间】:2011-08-03 01:57:03
【问题描述】:
尝试在 android 中使用 MultipartEntity 上传图像后,我收到以下错误消息:
Error: Problem with [picture] (File upload error 4)
我正在使用以下代码上传图片:
String url = "http://www.uploadurl.com/api/files.php";
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(url);
MultipartEntity multiEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Temp/" + IMAGE_FILENAME);
ContentBody cBody = new FileBody(file);
StringBody sb1 = new StringBody(getNameFormatted());
StringBody sb2 = new StringBody(getDeviceID());
MultipartEntity multipartContent = new MultipartEntity();
multipartContent.addPart("name", sb1);
multipartContent.addPart("uuid", sb2);
multipartContent.addPart("picture", cBody);
httpPost.setEntity(multipartContent);
HttpResponse response = httpClient.execute(httpPost, localContext);
我不确定自己做错了什么,我过去使用与此非常相似的代码上传图像,仅使用 JSON 数组作为实体的一部分,而不是单独添加所有图像。我认为这可能与图像设置到其 ContentBody 的方式有关?我真的不确定。
【问题讨论】: