问题描述
我正在使用 android-networking 库连接到 android Studio 中的服务器,现在我正在 localhost 上测试该库以将图像上传到数据库中以编辑图像配置文件,但它有问题并且无法正常工作并显示我的“连接到服务器时出错”的吐司。 我的代码无需上传图片即可工作。 我正在使用 Android studio 2.3.2 并且我获得了在运行时读取外部存储的权限。 提前致谢...
btnSubmit.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final SharedPreferences preferences=getActivity().getSharedPreferences("prefs",Context.MODE_PRIVATE);
AndroidNetworking.upload(Urls.host+Urls.update)
.addmultipartfile("image",new File(path))
.addMultipartParameter("username_old",preferences.getString("username",""))
.addMultipartParameter("username",edtUsername.getText().toString())
.addMultipartParameter("email",edtMail.getText().toString())
.setTag("UPDATE")
.build()
.getAsObject(User.class,new ParsedRequestListener<User>() {
@Override
public void onResponse(User response) {
try {
preferences.edit().putString("username",response.getUsername()).apply();
preferences.edit().putString("email",response.getMail()).apply();
preferences.edit().putString("image",response.getimage_url()).apply();
Toast.makeText(getContext(),"update successfully",Toast.LENGTH_SHORT).show();
getContext().startActivity(new Intent(getActivity(),Main.class));
getActivity().finish();
}
catch (Exception e)
{
Toast.makeText(getContext(),"error in connect to server in exception",Toast.LENGTH_SHORT).show();
}
}
@Override
public void onError(ANError anError) {
Toast.makeText(getContext(),"error in connect to server",Toast.LENGTH_SHORT).show();
}
});
}
});
if($_SERVER['REQUEST_METHOD'] == 'POST'){
require_once('dbConnect.PHP');
$content=$_FILES['image']['tmp_name'];
$old_user = $_POST['username_old'];
$username = $_POST['username'];
$email = $_POST['email'];
$target_path = "uploads/";
$response = array();
$server_ip = gethostbyname(gethostname());
$target_path = $target_path . basename($_FILES['image']['name']);
$file_upload_url= 'http://' . 'Myserver' . '/' . $target_path;
$sql="UPDATE user SET username = '$username',email = '$email',image = '$target_path' WHERE username = '$old_user'";
try{
if(move_uploaded_file($_FILES['image']['tmp_name'],$target_path) && MysqLi_query($cnn,$sql)){
$response['username']= $username;
$response['mail']= $email;
$response['image_url']= $target_path;
}
else{
$response ="error";
}
}
catch (Exception $e){
$response ="error";
}
echo json_encode($response);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)