Загрузить изображение base64 на сервер (Spring Boot) с помощью Volley Android Library - PullRequest
0 голосов
/ 01 декабря 2019

Я хочу загрузить изображение, закодированное на base64 при весенней загрузке, используя библиотеку Android для залпа, но когда я хочу показать код изображения в журнале весенней загрузки, я получаю код изображения, равный нулю, но другие атрибуты не имеют нулевого значения, яЯ не мог знать, с какой проблемой я сталкиваюсь, я протестировал множество решений, но не смог понять эту проблему.

код на стороне клиента (Android):

 @Override
    public void sendInfoToDb(final String firstname, final String lastName, final String email, final String pwd, final String gender, String yearChild,final String imageUploaded)  {



        final String insertUrl = "http://192.168.43.60:8080/v1/create_user";


        StringRequest stringRequest=new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Toast.makeText(getContext(),"ok:"+response,Toast.LENGTH_LONG).show();

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getContext(),"error:"+error.networkResponse.statusCode,Toast.LENGTH_LONG).show();

            }
        }){

            @Override
            public byte[] getBody() throws AuthFailureError {
                String str="{" +
                        "\"firstName\": \""+firstname+"\"," +
                        "\"lastName\" : \""+lastName+"\"," +
                        "\"email\"  : \""+email+"\"," +
                        "\"password\"   :\""+pwd+"\","+
                        "\"dateCreated\" : \""+System.currentTimeMillis()+"\"," +
                        "\"imageUploaded\" : \""+imageUploaded+"\"" +
                        "  }";
                //String str="{\n" + "\"name\": \""+first+"\",\n" + "\"lastName\" : \"ahmed\",\n" + "\"email\"  : \"g@g.com\",\n" + "\"password\"   :\"123\"\n" + "  }";
                return str.getBytes();
            }

            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                HashMap<String, String> headers = new HashMap<String, String>();
                headers.put("Content-Type", "application/json; charset=utf-8");
                return headers;
            }

        };
        System.out.println("volley:"+stringRequest.getUrl());

        requestQueue.add(stringRequest);
    }

Класс контроллера(Spring boot)


@RestController
@RequestMapping("/v1/create_user")
public class UserController{

   private final Log log= LogFactory.getLog(UserController.class);


   @Autowired
   UserServiceDB userService;

   @PostMapping(value = {"/",""},produces = MediaType.APPLICATION_JSON_VALUE   )
   public ResponseEntity<UserModel> create_user(@RequestBody UserModel user){ 
       log.info(user.getImageUploaded());
       return new ResponseEntity<>(userService.save(user), HttpStatus.ACCEPTED);
   }
}

Класс UserModel:


@RestController
@RequestMapping("/v1/create_user")
public class UserController{

    private final Log log= LogFactory.getLog(UserController.class);


    @Autowired
    UserServiceDB userService;

    @PostMapping(value = {"/",""},produces = MediaType.APPLICATION_JSON_VALUE   )
    public ResponseEntity<UserModel> create_user(@RequestBody UserModel user){
        log.info(user.getImageUploaded());
        return new ResponseEntity<>(userService.save(user), HttpStatus.ACCEPTED);
    }
}
...