Android通过ImageView发布图像和显示响应

时间:2018-09-28 22:29:31

标签: android post flask android-volley

我正在尝试

  1. 将图像发送到服务器。

  2. 服务器处理图像。

  3. 服务器返回已处理的图像。

  4. Android将处理后的图像显示到ImageView上。

我不确定如何从响应中获取图像(请参见下面的Android代码)

我该如何解决?

服务器(python,flask):

    private void POSTImage(String miFilePath){
    final Bitmap miImage = BitmapFactory.decodeFile(miFilePath);
    RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);

    StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Toast.makeText(MainActivity.this, "Volley works", Toast.LENGTH_SHORT).show();
            // ** Handle response **
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(MainActivity.this, ""+error, Toast.LENGTH_SHORT).show();
        }
    }){
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String,String> param = new HashMap<>();

            String images = getStringImage(miImage);
            param.put("file", images);
            return param;
        }
    };

    requestQueue.add(stringRequest);
}

public String getStringImage(Bitmap bitmap){
    Log.i("MyHitesh",""+bitmap);
    ByteArrayOutputStream baos=new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG,100, baos);
    byte [] b=baos.toByteArray();
    String temp=Base64.encodeToString(b, Base64.DEFAULT);

    return temp;
}

Android:

{{1}}

0 个答案:

没有答案