Невозможно загрузить изображения в firebase, сказав: произошла неизвестная ошибка, проверьте код результата HTTP и внутреннее исключение для ответа сервера - PullRequest
0 голосов
/ 10 июня 2019

Вот метод, который получает строки выбранных изображений,

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // Check which request we're responding to
    if (requestCode == OPEN_MEDIA_PICKER) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK && data != null) {
            selectionResult = data.getStringArrayListExtra("result");
        }

    }
}

Это функция загрузки. Я думаю, что проблема может быть, когда я конвертирую String в URI, используя URI.parse().

Может кто-нибудь предложить лучший способ загрузки изображений

private void uploadImages() {
    simpleProgressBar.setVisibility(View.VISIBLE);

    insideImageStorageReference = FirebaseStorage.getInstance().getReference("HOSTELS").child("2");

    for( i=0;i<selectionResult.size();i++){
        StorageReference fileReference = insideImageStorageReference.child("INSIDE_IMAGE"+i+ "." + getFileExtension(Uri.parse(selectionResult.get(i))));
        if (selectionResult.get(i) != null)
        fileReference.putFile(Uri.parse(selectionResult.get(i)))
                .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                        taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                            @Override
                            public void onSuccess(Uri uri) {
                                String download_rul = uri.toString();
                                insideImgRef.child("PIC"+(i+1)).setValue(download_rul);
                                simpleProgressBar.setProgress(i+10);


                            }
                        });

                    }
                })

ОШИБКА LOGCAT ПОСЛЕ ВЫБОРА ВСЕХ ИЗОБРАЖЕНИЙ ИЗ УСТРОЙСТВА (ЭМУЛЯТОРА)

W/StorageTask: unable to change internal state to: INTERNAL_STATE_CANCELED 
isUser: false from state:INTERNAL_STATE_IN_PROGRESS
E/StorageException: StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner 
 exception for server response.
 Code: -13000 HttpResult: 0
No content provider: /storage/emulated/0/DCIM/Camera/IMG_20190610_200142_1.jpg
java.io.FileNotFoundException: No content provider: /storage/emulated/0/DCIM/Camera/IMG_20190610_200142_1.jpg
    at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1131)
    at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:982)
    at android.content.ContentResolver.openInputStream(ContentResolver.java:702)
    at com.google.firebase.storage.UploadTask.<init>(com.google.firebase:firebase-storage@@17.0.0:133)
    at com.google.firebase.storage.StorageReference.putFile(com.google.firebase:firebase-storage@@17.0.0:260)
    at com.teepe.teepestayscontrollerapp.addImages.uploadImages(addImages.java:132)
    at com.teepe.teepestayscontrollerapp.addImages.access$000(addImages.java:31)
    at com.teepe.teepestayscontrollerapp.addImages$2.onClick(addImages.java:74)
    at android.view.View.performClick(View.java:5610)
    at android.view.View$PerformClick.run(View.java:22265)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
StorageException has occurred.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...