我无法将多张图片上传到服务器

时间:2021-02-13 11:59:26

标签: java android

@Multipart
    @POST("api/shop/kyc")
    Call<String> submit_kycc(@PartMap HashMap<String, RequestBody> map, @Part MultipartBody.Part pan,
                             @Part MultipartBody.Part bnk_stmt, @Part MultipartBody.Part adar,
                             @Part MultipartBody.Part fssai_cert, @Part MultipartBody.Part gst_cert,
                             @Part MultipartBody.Part[] multi_file);

public void submit_kycc1() {

        enter_pan_no_str = enter_pan_no.getText().toString().trim();
        fssai_num_str = fssai_num.getText().toString().trim();
        gst_num_str = gst_num.getText().toString().trim();
        adhar_num_str = adhar_num.getText().toString().trim();

        if (enter_pan_no_str == null)
            validateAadharNumber(enter_pan_no_str);


        if (govtIdPath == null) {
            Toast.makeText(context, "add pan adar id", Toast.LENGTH_SHORT).show();

        } else {
            if (isInternet) {
                HashMap<String, RequestBody> map = new HashMap<>();
                map.put("pan_no", RequestBody.create(MediaType.parse("text/plain"), enter_pan_no_str));
                map.put("aadhar_no", RequestBody.create(MediaType.parse("text/plain"), adhar_num_str));
                map.put("fssai_no", RequestBody.create(MediaType.parse("text/plain"), fssai_num_str));
                map.put("gst_no", RequestBody.create(MediaType.parse("text/plain"), gst_num_str));

                File file = new File(govtIdPath);
            

                //RequestBody reqFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
                RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"), file);

                MultipartBody.Part pan = MultipartBody.Part.createFormData("pan_card", govtIdPath, reqFile);
                MultipartBody.Part bnk_stmt = MultipartBody.Part.createFormData("bank_statement", govtIdPath, reqFile);
                MultipartBody.Part adar = MultipartBody.Part.createFormData("aadhar_card", govtIdPath, reqFile);
                MultipartBody.Part fssai_cert = MultipartBody.Part.createFormData("fssai_certificate", govtIdPath, reqFile);
                MultipartBody.Part gst_cert = MultipartBody.Part.createFormData("gst_certificate", govtIdPath, reqFile);
              MultipartBody.Part multi_file = MultipartBody.Part.createFormData("menufile[]",govtIdPath,reqFile);


                customDialog.show();

                Call<String> call = apiInterface.submit_kycc(map,
                        pan, bnk_stmt, adar, fssai_cert, gst_cert, multi_file);
                call.enqueue(new GlobalCallback<String>(enter_pan_no) {
                    @Override
                    public void onResponse(Call<String> call, Response<String> response) {
                        customDialog.dismiss();

                        String res = response.body().toString();

                        if (res.contains("1")) {
                            Toast.makeText(getApplicationContext(), "Successfully Uploaded", Toast.LENGTH_LONG).show();
                            onBackPressed();


                        } else if (res.contains("0")) {
                            Toast.makeText(getApplicationContext(), "failed to upload", Toast.LENGTH_LONG).show();
                        }

                    }

                    @Override
                    public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
                        customDialog.dismiss();
                        Utils.displayMessage(KycActivity.this, getString(R.string.something_went_wrong));
                    }
                });

            }
        }
    }

0 个答案:

没有答案