Android 我如何发送到服务器没有图像截击?

Android 我如何发送到服务器没有图像截击?,android,android-volley,Android,Android Volley,这是我在服务器上发布两个字符串和一个图像的方法,这里我可以正确地发送数据,但是当我发送没有图像的数据时,我希望在所有情况下发送字符串和图像,有图像和没有图像 private void Posts() { final StringRequest StringRequest=新StringRequest(Request.Method.POST,uploadeImageUrl, 新的Response.Listener(){ @凌驾 公共void onResponse(字符串响应){ 试一试{ JSO

这是我在服务器上发布两个字符串和一个图像的方法,这里我可以正确地发送数据,但是当我发送没有图像的数据时,我希望在所有情况下发送字符串和图像,有图像和没有图像

private void Posts()
{
final StringRequest StringRequest=新StringRequest(Request.Method.POST,uploadeImageUrl,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONObject JSONObject=新JSONObject(响应);
字符串响应=jsonObject.getString(“响应”);
Toast.makeText(Post.this,Response,Toast.LENGTH_LONG).show();
imagepost.setImageResource(0);
设置可见性(View.GONE);
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
})
{
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
params.put(“name”,editwriter.getText().toString().trim());
put(“postcontent”,editsubject.getText().toString().trim());
参数put(“imagepost”,imageToString(位图).trim());
返回参数;
}
};
getInstance(Post.this).addToRequestque(stringRequest);

}
能否添加imageToString(位图)的代码

编辑: 首先,向getParams()方法添加if语句,如下所示:

String imageString = imageToString(bitmap);
if(!imageString.equals("false")){
    params.put("imagepost",imageToString(bitmap).trim());
}
$con= mysqli_connect($host_name,$user_name,$user_pass,$dp_name);

if($con){
    date_default_timezone_set("Asia/Muscat");
    $datee= date("Y/m/d");//strip_tags(trim($_POST["date"]));
    $timee= date("h:i:sa");//strip_tags(trim($_POST["time"]));
    $dt=date("Ymd");
    $tm=date("his");
    $name=$_POST['name'];
    $postcontent=$_POST['postcontent'];
    if(isset($_POST["image"])){
        $imageChecker = TRUE;
        $imagepost= $_POST["imagepost"];
        $rnd = rand(0, 5000);
        $imgname="imagepost".$dt.$tm.$rnd.".jpg";
        $url = "http://devsinai.com/DrSiani/imageUploadPostDr/images/".$imgname;
        $sql="INSERT INTO posts (name,postcontent,imagepost) VALUE ('$name','$postcontent','$url')";
    } else {
        $imageChecker = FALSE;
        $sql="INSERT INTO posts (name,postcontent) VALUE ('$name','$postcontent')";
    }
    $uploads_path="images/$imgname";
    if(mysqli_query($con,$sql)){
        if($imageChecker)
            file_put_contents($uploads_path,base64_decode($imagepost));
        echo json_encode(array('response'=>'Successfully'));
    } else {
        echo json_encode(array('response'=>'fiald'));
    }
}  

mysqli_close($con);
当出现错误时,让imageToString方法以字符串形式返回“false”。 按如下方式编辑php脚本:

String imageString = imageToString(bitmap);
if(!imageString.equals("false")){
    params.put("imagepost",imageToString(bitmap).trim());
}
$con= mysqli_connect($host_name,$user_name,$user_pass,$dp_name);

if($con){
    date_default_timezone_set("Asia/Muscat");
    $datee= date("Y/m/d");//strip_tags(trim($_POST["date"]));
    $timee= date("h:i:sa");//strip_tags(trim($_POST["time"]));
    $dt=date("Ymd");
    $tm=date("his");
    $name=$_POST['name'];
    $postcontent=$_POST['postcontent'];
    if(isset($_POST["image"])){
        $imageChecker = TRUE;
        $imagepost= $_POST["imagepost"];
        $rnd = rand(0, 5000);
        $imgname="imagepost".$dt.$tm.$rnd.".jpg";
        $url = "http://devsinai.com/DrSiani/imageUploadPostDr/images/".$imgname;
        $sql="INSERT INTO posts (name,postcontent,imagepost) VALUE ('$name','$postcontent','$url')";
    } else {
        $imageChecker = FALSE;
        $sql="INSERT INTO posts (name,postcontent) VALUE ('$name','$postcontent')";
    }
    $uploads_path="images/$imgname";
    if(mysqli_query($con,$sql)){
        if($imageChecker)
            file_put_contents($uploads_path,base64_decode($imagepost));
        echo json_encode(array('response'=>'Successfully'));
    } else {
        echo json_encode(array('response'=>'fiald'));
    }
}  

mysqli_close($con);

请正确指定您的问题。在这种情况下,您不想发送图像?我希望有图像和没有图像两种情况,但如果我发送时没有图像,我可以只发送图像。没有数据转到服务器使用if条件在两种情况之间进行延迟,例如:if(imageToString(bitmap)!=null){params.put(“imagepost”,imageToString(bitmap.trim());}在imagesame问题的位置尝试使用空字符串。如果您能帮助plsi尝试对其发表评论,我将在服务器中使用php代码编辑问题,但我的帐户是新的,我没有任何评论、答案或问题。由于这个原因,当我试图写评论时,我无法在@lukkea写评论。一条弹出消息告诉我,我必须有50个声誉才能发表评论。谢谢您的通知。@IbrahimHusin您必须更改质量并降低(例如70)。并放入if语句检查位图if null是否返回“false”。我被编辑了我的答案。希望这对你有帮助。