在Android中上传大尺寸图片时出现500服务器错误

时间:2014-11-17 05:27:19

标签: android image image-uploading apache-httpclient-4.x multipart

我正在使用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进行此过程。

0 个答案:

没有答案