Working POST Multipart Request with Volley and without HttpEntity

前端 未结 5 1379
隐瞒了意图╮
隐瞒了意图╮ 2020-11-22 09:55

This is not really a question, however, I would like to share some of my working code here for your reference when you need.

As we know that HttpEntity

5条回答
  •  日久生厌
    2020-11-22 10:16

    I rewrite your code @RacZo and @BNK more modular and easy to use like

    VolleyMultipartRequest multipartRequest = new VolleyMultipartRequest(Request.Method.POST, url, new Response.Listener() {
        @Override
        public void onResponse(NetworkResponse response) {
            String resultResponse = new String(response.data);
            // parse success output
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {                
            error.printStackTrace();
        }
    }) {
        @Override
        protected Map getParams() {
            Map params = new HashMap<>();
            params.put("api_token", "gh659gjhvdyudo973823tt9gvjf7i6ric75r76");
            params.put("name", "Angga");
            params.put("location", "Indonesia");
            params.put("about", "UI/UX Designer");
            params.put("contact", "angga@email.com");
            return params;
        }
    
        @Override
        protected Map getByteData() {
            Map params = new HashMap<>();
            // file name could found file base or direct access from real path
            // for now just get bitmap data from ImageView
            params.put("avatar", new DataPart("file_avatar.jpg", AppHelper.getFileDataFromDrawable(getBaseContext(), mAvatarImage.getDrawable()), "image/jpeg"));
            params.put("cover", new DataPart("file_cover.jpg", AppHelper.getFileDataFromDrawable(getBaseContext(), mCoverImage.getDrawable()), "image/jpeg"));
    
            return params;
        }
    };
    
    VolleySingleton.getInstance(getBaseContext()).addToRequestQueue(multipartRequest);
    

    Check full of code VolleyMultipartRequest at my gist.

提交回复
热议问题