500内部服务器错误Android HttpPost文件上传

时间:2015-07-21 22:44:06

标签: java android eclipse http http-post

最近我注意到当我尝试使用HttpPost将图像上传到我的服务器时出现此错误,我在Eclipse中使用的代码是:

                    HttpPost httpPost = new HttpPost((String) params[0]);
                    Uri uri = (Uri) params[2];
                    String fileName = getFileName(uri);
                    if (fileName == null) fileName = "image";
                    InputStream inputStream = getContentResolver().openInputStream(uri);

                    HttpEntity mpEntity = MultipartEntityBuilder.create().addPart("place", new StringBody((String) params[3])).addBinaryBody("appuploadfile", inputStream, ContentType.create("image"), fileName).build();
                    httpPost.setEntity(mpEntity);
                    httpPost.setHeader("User-Agent", userAgent);
                    httpPost.setHeader("Cookie", cookie);
                    httpResponse = httpclient.execute(httpPost);
                    inputStream.close();

我的主机正在使用LiteSpeed并且它已经工作到现在但它们可能更新了一些东西,所以我的代码不再兼容了?如果我将服务器更改为我的PC上的本地服务器,它可以正常工作,我只会收到主机的错误。有人知道什么可能是错的吗?我确实试图嗅探我的应用程序以查看它正在发送的内容,并将其与浏览器(firefox)进行比较,数据看起来有点不同,似乎发送方式不同(请注意,文件上传工作正常,从浏览器,它只是从我的Android应用程序不再工作。)

这是从我的应用程序发送时的样子: http://justpaste.it/mi11

这是从浏览器发送它时的样子(firefox,它工作正常): http://justpaste.it/mi1c

谢谢!

1 个答案:

答案 0 :(得分:2)

HTTP错误500表示内部服务器错误。也就是说,错误发生在服务器中,而不是在您的应用程序中。您需要检查服务器的日志以查看导致它的原因并在那里修复它。