Android 如何使用截取将base64字符串值从(params)发送到服务器

Android 如何使用截取将base64字符串值从(params)发送到服务器,android,string,kotlin,base64,android-volley,Android,String,Kotlin,Base64,Android Volley,我正在使用android中的volley库调用我们的服务器,当尝试向服务器发送base64编码的图像时,请求失败,但当删除编码字符串时,请求成功,没有任何问题。我使用以下代码对我的图像进行编码 private fun uploadUserImage() { //creating volley string request val stringRequest = object : StringRequest( Method.POST, Co

我正在使用android中的volley库调用我们的服务器,当尝试向服务器发送base64编码的图像时,请求失败,但当删除编码字符串时,请求成功,没有任何问题。我使用以下代码对我的图像进行编码

 private fun uploadUserImage() {
        //creating volley string request
        val stringRequest = object : StringRequest(
            Method.POST, Constants().urlUpload,
            Response.Listener<String> { response ->
                try {
                    val jsonObject = JSONObject(response)
                    if (jsonObject.getString("message").equals("Image Uploaded Successfully")) {
                        Toast.makeText(
                            applicationContext,
                            jsonObject.getString("message"),
                            Toast.LENGTH_LONG
                        ).show()

                    } else if (jsonObject.getString("message").equals("Image Uploaded Failed")) {
                        Toast.makeText(
                            applicationContext,
                            jsonObject.getString("message"),
                            Toast.LENGTH_LONG
                        ).show()
                    } else if(jsonObject.getString("message").equals("Required fields is missing")){
                        Toast.makeText(
                            applicationContext,
                            jsonObject.getString("message"),
                            Toast.LENGTH_LONG
                        ).show()
                    }

                } catch (e: JSONException) {
                    e.printStackTrace()
                }

            },
            Response.ErrorListener { volleyError ->
                Toast.makeText(applicationContext, volleyError.message, Toast.LENGTH_LONG)
                    .show()
            }) {
            @Throws(AuthFailureError::class)
            override fun getParams(): Map<String, String> {
                val params = HashMap<String, String>()
                params["Email"] = SharedPrefManager.getInstance(applicationContext)?.getEmail().toString()
                params["Image"] =  encodedImg
                return params
            }
        }

        //adding request to queue
        BackendVolley.instance?.addToRequestQueue(stringRequest)

    }

    private fun imageToString(bitmap: Bitmap) {
        val byteArrayOutputStream = ByteArrayOutputStream()
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream)
        val imgByte = byteArrayOutputStream.toByteArray()
        encodedImg = Base64.encodeToString(imgByte, Base64.DEFAULT)

    }

private fun uploadUserImage(){
//创建截击字符串请求
val stringRequest=对象:stringRequest(
方法.POST,常量().urlUpload,
Response.Listener{Response->
试一试{
val jsonObject=jsonObject(响应)
if(jsonObject.getString(“message”).equals(“成功上传图像”)){
Toast.makeText(
应用上下文,
jsonObject.getString(“消息”),
吐司,长度
).show()
}else if(jsonObject.getString(“message”).equals(“上传图像失败”)){
Toast.makeText(
应用上下文,
jsonObject.getString(“消息”),
吐司,长度
).show()
}else if(jsonObject.getString(“消息”).equals(“缺少必填字段”)){
Toast.makeText(
应用上下文,
jsonObject.getString(“消息”),
吐司,长度
).show()
}
}捕获(e:JSONException){
e、 printStackTrace()
}
},
Response.ErrorListener{volleyError->
Toast.makeText(applicationContext、volleyError.message、Toast.LENGTH\u LONG)
.show()
}) {
@抛出(AuthFailureError::类)
重写fun getParams():映射{
val params=HashMap()
params[“Email”]=SharedPrefManager.getInstance(applicationContext)?.getEmail().toString()
参数[“图像”]=encodedImg
返回参数
}
}
//将请求添加到队列
BackendVolley.instance?.addToRequestQueue(stringRequest)
}
private fun imageToString(位图:位图){
val byteArrayOutputStream=byteArrayOutputStream()
bitmap.compress(bitmap.CompressFormat.JPEG,100,byteArrayOutputStream)
val imgByte=byteArrayOutputStream.toByteArray()
encodedImg=Base64.encodeToString(imgByte,Base64.DEFAULT)
}