首页 > 解决方案 > 如何使用 Volley 将多个文件上传到节点 js 服务器?

问题描述

我是 android 新手,我想将多个文件上传到我的 Node.js 服务器,我正在使用 volley 生成请求。

我需要将多个图像存储在数组中,而不是需要将该数组传递给 server 。

我可以将单个文件上传到服务器,但我无法上传多个文件,任何人都可以帮助我如何实现这一点。

谢谢

我关注Retrofit 2 — 如何将多个文件上传到服务器

但我想通过凌空抽射。

我的代码是

private void showChooser() {



    ArrayList<Integer> moviesList = new ArrayList<>();
    moviesList.add(R.drawable.cart);
    moviesList.add(R.drawable.carts);
    moviesList.add(R.drawable.userimage);
    moviesList.add(R.drawable.voucher);
    MultipartBody.Builder builder = new MultipartBody.Builder()
            .setType(MultipartBody.FORM);

    for(int i = 0 ; i < moviesList.size(); i++) {

        File file = new File(String.valueOf(moviesList.get(i)));

        if(file.exists()){
            final MediaType MEDIA_TYPE = MediaType.parse(String.valueOf(moviesList.get(i)));
            builder.addFormDataPart("my_images[]",file.getName(),RequestBody.create(MEDIA_TYPE,file));
        }
        else {
            Log.d("Hello", "file not exist ");
        }


    }



    RequestBody requestBody = builder.build();

    Request request = new Request.Builder()
            .url(urls)
            .post(requestBody)
            .build();

    OkHttpClient client = new OkHttpClient.Builder().build();

    Call call = client.newCall(request);


    call.enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            e.printStackTrace();
        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {

            Log.d("Response is :",String.valueOf(response));
            Toast.makeText(getApplicationContext(),"Done",Toast.LENGTH_LONG).show();

        }


    });

标签: androidnode.jsandroid-studioandroid-volleyretrofit

解决方案


推荐阅读