第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 Firebase 從實(shí)時(shí)數(shù)據(jù)庫存儲(chǔ)和檢索圖像 url?

如何使用 Firebase 從實(shí)時(shí)數(shù)據(jù)庫存儲(chǔ)和檢索圖像 url?

蝴蝶刀刀 2023-09-27 10:23:31
我在將圖像網(wǎng)址存儲(chǔ)到實(shí)時(shí)數(shù)據(jù)庫中時(shí)遇到問題。它存儲(chǔ)一個(gè)與存儲(chǔ)中圖像的 url 無關(guān)的 url。private  void uploadFile (){        if (mImageUri != null){            StorageReference fileReference = mStorageRef.child(System.currentTimeMillis()            + "." + getFileExtension(mImageUri));            uploadProgressBar.setVisibility(View.VISIBLE);            uploadProgressBar.setIndeterminate(true);            mUploadTask = fileReference.putFile(mImageUri)                    .addOnSucessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {                        @Override                        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {                            Handler handler = new Handler();                            handler.postDelayed(new Runnable() {                                @Override                                public void run() {                                    uploadProgressBar.setVisibility(View.VISIBLE);                                    uploadProgressBar.setIndeterminate(false);                                    uploadProgressBar.setProgress(0);                                }                            },500);                            Toast.makeText(AddProductActivity.this, "Product is added successfully!", Toast.LENGTH_SHORT).show();                            Product product = new Product(productName.getText().toString()                                    ,productDescription.getText().toString()                                    ,price.getText().toString()                                    ,taskSnapshot.getUploadSessionUri().toString()                                    ,oldPrice.getText().toString()                        }                    })                當(dāng)我從 imageUrl 字段復(fù)制存儲(chǔ)的 url 并嘗試查看它是否會(huì)顯示圖像時(shí),我收到此文本錯(cuò)誤:無效的請求。X-Goog-Upload-Command 標(biāo)頭丟失。
查看完整描述

1 回答

?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

您需要taskSnapshot.getUploadSessionUri().toString()在將圖像上傳到正確的 uri 時(shí)進(jìn)行更改,如下所示


下面是獲取正確 URI 的示例


firebaseStorageReference.putFile(resultUri)

        .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {

            @Override

            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                final Task<Uri> firebaseUri = taskSnapshot.getStorage().getDownloadUrl();


                    firebaseUri.addOnSuccessListener(new OnSuccessListener<Uri>() {

                        @Override

                        public void onSuccess(Uri uri) {

                            String mDownloadUri = uri.toString();

                        }

                    });


                }

            });

并將其應(yīng)用到您的代碼中


private  void uploadFile (){

        if (mImageUri != null){

            StorageReference fileReference = mStorageRef.child(System.currentTimeMillis()

            + "." + getFileExtension(mImageUri));


            uploadProgressBar.setVisibility(View.VISIBLE);

            uploadProgressBar.setIndeterminate(true);


            mUploadTask = fileReference.putFile(mImageUri)

                    .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {

                        @Override

                        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                            Handler handler = new Handler();

                            handler.postDelayed(new Runnable() {

                                @Override

                                public void run() {

                                    uploadProgressBar.setVisibility(View.VISIBLE);

                                    uploadProgressBar.setIndeterminate(false);

                                    uploadProgressBar.setProgress(0);

                                }

                            },500);



                            final Task<Uri> firebaseUri = taskSnapshot.getStorage().getDownloadUrl();

                            firebaseUri.addOnSuccessListener(new OnSuccessListener<Uri>() {

                                @Override

                                public void onSuccess(Uri uri) {

                                    String downloadUri = uri.toString();


                                    Toast.makeText(AddProductActivity.this, "Product is added successfully!", Toast.LENGTH_SHORT).show();


                                    Product product = new Product(productName.getText().toString()

                                            ,productDescription.getText().toString()

                                            ,price.getText().toString()

                                            ,downloadUri

                                            ,oldPrice.getText().toString()

                                            , quantity.getText().toString());


                                    String uploadID = mDatabaseRef.push().getKey();

                                    mDatabaseRef.child(uploadID).setValue(product);


                                    uploadProgressBar.setVisibility(View.INVISIBLE);

                                    openMainActivity();


                                }

                            });

// rest of your code

希望對您有幫助,也歡迎更多支持


查看完整回答
反對 回復(fù) 2023-09-27
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)