Android 如何使用截取将base64字符串值从(params)发送到服务器
我正在使用android中的volley库调用我们的服务器,当尝试向服务器发送base64编码的图像时,请求失败,但当删除编码字符串时,请求成功,没有任何问题。我使用以下代码对我的图像进行编码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
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)
}