我探讨了许多与此问题相关的问题,但没有解决我的问题。 我在android中发送base64编码的图像并将其发送到服务器,但编码的字符串无法到达Godaddy服务器。
我尝试了什么:
我使用wampserver跟踪我的localhost的相同代码,它就像一个魅力。但无法将imageString发送到实时服务器。就像每当我发送这个编码的字符串时,php会以某种方式崩溃。我不知道。它应该通过返回一个echo语句,我在那里显示为错误但没有它不会回退任何东西。
Java代码:
Bitmap bitmap = ImageLoader.init().from(selectedPhoto).requestSize(1024, 1024).getBitmap();
String encodedImage = ImageBase64.encode(bitmap);
HashMap<String, String> postData = new HashMap<String, String>();
postData.put("image", "-" + encodedImage );
PostResponseAsyncTask task = new PostResponseAsyncTask(actCtx, postData, new AsyncResponse() {
@Override
public void processFinish(String s) {
Toast.makeText(actCtx, s, Toast.LENGTH_SHORT).show();
/*Picasso.with(actCtx).load(SERVER_ADDRESS + loggedInEmail + ".jpeg").into(imageProfileIv);*/
dialog.dismiss();
}
});
task.execute("http://fatappstudios.com/Webservices/Junaid/QuoteMedia/db_image_upload.php");
task.setEachExceptionsHandler(new EachExceptionsHandler() {
@Override
public void handleIOException(IOException e) {
Toast.makeText(getActivity(), "IOException", Toast.LENGTH_SHORT).show();
}
@Override
public void handleMalformedURLException(MalformedURLException e) {
Toast.makeText(getActivity(), "MalformedURLException", Toast.LENGTH_SHORT).show();
}
@Override
public void handleProtocolException(ProtocolException e) {
Toast.makeText(getActivity(), "ProtocolException", Toast.LENGTH_SHORT).show();
}
@Override
public void handleUnsupportedEncodingException(UnsupportedEncodingException e) {
Toast.makeText(getActivity(), "UnsupportedEncodingException", Toast.LENGTH_SHORT).show();
}
});
PHP代码(尝试1):
$name = $_POST["image"];
try {
echo $name;
} catch(Exception $e) {
echo 'Message: ' .$e->getMessage();
}
PHP代码(尝试2):
$name = $_POST["image"];
echo $name;
如果我简单地回显“abc”并发送除了encodedImage之外的任何值,它将显示abc字符串。所以我确信db正在完美连接。
请为我找到解决方案:(
P.S:暂时。我甚至将服务器上的所有文件夹权限设置为777,因此没有我认为的权限问题。