我正在使用Multipart方法将图像上传到我的应用程序内的服务器。如果我上传的是小尺寸图像,那么它的工作正常,但是当我上传大尺寸图像(以Mbs为单位)时,我就会得到"内部服务器错误" (错误代码 - 500)。我无法理解这是什么问题。我在这里发布我的代码,
*HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost("MY_URL");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
File imageFile = new File("/mnt/sdcard/Hiley Duley1.jpg");
Uri uri = Uri.fromFile(imageFile);
InputStream iStream = getContentResolver().openInputStream(uri);
byte[] inputData = getBytes(iStream);
builder.addBinaryBody("userfile", Base64.encode(inputData, Base64.DEFAULT));
builder.addTextBody("place_id", "761");
builder.addTextBody("mall_id", "1");
builder.addTextBody("status", "1");
builder.addTextBody("type", "Photo");
builder.addTextBody("filename", "menu.jpg");
builder.addTextBody("filetype", "image/jpeg");
builder.addTextBody("user_id", "1");
builder.addTextBody("auth_id", "1");
httpPost.setEntity(builder.build());
HttpResponse response = httpClient.execute(httpPost,
localContext);
response.getEntity().getContent(), "UTF-8"));
return getContent(response);
在这里,我使用MultipartEntityBuilder上传图像并从手机中获取图像。如果图像大小以Kbs为单位,那么我的工作正常,但对于大小为Mbs的图像,它给出了500错误。此外,我正在使用AsyncTask进行此过程。