首页 > 解决方案 > 我无法确定是什么导致我的应用出现此意外上传错误

问题描述

我对 android 开发相对较新,我一直在为一个非常简单的错误绞尽脑汁好几个小时。看,该应用程序昨天运行良好,在我对一些 XML 文件进行了一些更改并在我的模拟器上运行该应用程序后,我遇到了这个错误:

2019-09-10 14:13:19.533 6388- 
6516/ E/Volley: [301] 
BasicNetwork.performRequest: Unexpected response code 406 for 
http://applybpojobs.com/widevalueappfiles/server/api/addvehicle.php
2019-09-10 14:13:21.573 1633-1656/system_process E/memtrack: Couldn't load 
memtrack module

我已经在网上尝试了许多解决方案,但似乎无法解决我的问题。这是我的代码:

    StringRequest stringRequest = new StringRequest(Request.Method.POST, 
    URL_ADD_VEHICLE,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.i(TAG, response.toString());
                    try {
                        JSONObject jsonObject = new JSONObject(response);
                        String Success = jsonObject.getString("success");
                        if (Success.equals("1")){
                            hideLoader();
                            Toast.makeText(Addvehicle.this,"Vehicle Added 
     Successfully",Toast.LENGTH_SHORT).show();

                        }else if (Success.equals("0")){
                            hideLoader();
                            Toast.makeText(Addvehicle.this,"Vehicle 
     Already Exist",Toast.LENGTH_SHORT).show();

                        }

                    }catch (JSONException e){
                        e.printStackTrace();
                        hideLoader();
                        Toast.makeText(Addvehicle.this,"Vehicle Added 
     Error"+e.toString(),Toast.LENGTH_SHORT).show();
                    }
                }
            },
            new Response.ErrorListener(){

                @Override
                public void onErrorResponse(VolleyError error){
                    Toast.makeText(Addvehicle.this,"Vehicle Added 
     Error"+error.toString(),Toast.LENGTH_SHORT).show();
                    hideLoader();
                }


            })

我收到来自此 URL 的空白回复,我需要有关如何解决此问题的指导:

http://*********.php

无论出于何种原因,我的应用程序上的这个页面因为这个错误而停止工作。任何帮助,将不胜感激。同样,我基本上是 android 开发的新手,所以请理解像这样的简单错误会让我流鼻血。

这是我的服务器 php 代码:

<?php

require '../core/connect.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {


    $plate_number=$_POST['plate_number'];
    $vin=$_POST['vin'];
    $car_make=$_POST['car_make'];
    $car_model=$_POST['car_model'];
    $car_year=$_POST['car_year'];
    $displacement=$_POST['displacement'];
    $fuel_type=$_POST['fuel_type'];
    $transmission=$_POST['transmission'];
    $mileage=$_POST['mileage'];
    $owner_name=$_POST['owner_name'];
    $address=$_POST['address'];
    $phone_number=$_POST['phone_number'];
    $email_adress=$_POST['email_adress'];
    $facebook=$_POST['facebook'];
    $adddate = date("d/m/Y");

    $photo = $_POST['photo'];

    $id=uniqid();


    $path = "vehicle_upload/$id.jpeg";
    $finalpath = "*********.$path;


    $sql1=mysqli_query($connect,"SELECT * FROM _addvehicle WHERE 
 PlateNumber='$plate_number'");
    if (mysqli_num_rows($sql1) > 0) {
            $result['success'] = "0";
            $result['message'] = "error";
            echo json_encode($result);
    }else{

        $sql = mysqli_query($connect, "INSERT IGNORE INTO 
_addvehicle(PlateNumber, Vin, Make, Model, Year, Displacement, FuelType, 
Transmission, Mileage, OwnerorCompany, HomeorCompanyAddress, ContactNumber, 
EmailAddress, FacebookID, AddDate, vehicleImage)VALUES('$plate_number','$vin','$car_make','$car_model','$car_year','$displacement','$fuel_type','$transmission','$mileage','$owner_name','$address','$phone_number','$email_adress','$facebook','$adddate','$finalpath')");

        if ($sql) {


                if (file_put_contents($path, base64_decode($photo))) {
                    $result['success'] = "1";
                    $result['message'] = "success";
                    echo json_encode($result);
                    //mysqli_close($connect);
                }

            }
    }



}

?>

标签: androidfile-uploadandroid-volley

解决方案


在 POST 请求中,您需要发送空 Hashmap 之类的参数,即 {"":""} 或者您需要尝试使用 https 而不是 http。


推荐阅读