微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 android studio 在本地主机中上传图像

如何解决使用 android studio 在本地主机中上传图像

我正在使用 android-networking 库连接到 android Studio 中的服务器,现在我正在 localhost 上测试该库以将图像上传数据库中以编辑图像配置文件,但它有问题并且无法正常工作并显示我的“连接到服务器时出错”的吐司。 我的代码无需上传图片即可工作。 我正在使用 Android studio 2.3.2 并且我获得了在运行时读取外部存储的权限。 提前致谢...

Android-studio 代码

 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();

                        }
                    });
        }
    });

PHP 代码

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 举报,一经查实,本站将立刻删除。