Uploading multiple pdf files to Firebase storage - Android

半腔热情 提交于 2020-08-10 19:35:51

问题


I have an android app where user can upload multiple pdf files in a "folder". My app is working perfectly for uploading and viewing a single PDF file.To upload multiple files, I know I will have to use a for loop but I don't have any idea how to proceed.

My code for uploading a single PDF is :

StorageReference pdfRef = storageReference.child(fName + "/" + pdfName);
pdfRef.putFile(pdfData)
    .addOnSuccessListener(new OnSuccessListener < UploadTask.TaskSnapshot > () {
        @Override
        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
            Toast.makeText(MainActivity.this, "File Uploaded!", Toast.LENGTH_SHORT).show();

            Task < Uri > uriTask = taskSnapshot.getStorage().getDownloadUrl();
            while (!uriTask.isComplete());
            Uri uri = uriTask.getResult();


            Map < String, Object > map = new HashMap < > ();
            map.put("url", String.valueOf(uri));
            map.put("name", pdfName);
            DocumentReference documentReference = db.collection(fName).document(pdfName);
            documentReference.set(map)
                .addOnSuccessListener(new OnSuccessListener < Void > () {
                    @Override
                    public void onSuccess(Void aVoid) {
                        Log.d("TEST", "onSuccess: Task was  successful");

                    }
                })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.d("TEST", "onFailure: Task was not successful" + e.getLocalizedMessage() + "  " + e.getMessage());
                    }
                });
            alertDialog.dismiss();
        }
    })
    .addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    });

fName and pdfName are the names of the folder and PDF to be uploaded which I'm getting from somewhere else in my code. The main issue is using the for loop

来源:https://stackoverflow.com/questions/63012301/uploading-multiple-pdf-files-to-firebase-storage-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!