簡體   English   中英

Firebase差異b / w putBytes或putfile快速上傳?

[英]Firebase Difference b/w putBytes or putfile which is fast uploading?

我正在使用Cloud Storage for Firebase。 我很少混淆如何使用字節數組或文件以最快的方式上傳圖像文件

try {
               Uri uri = Uri.parse(UriList.get(Imagecount_update));

            bmp = MediaStore.Images.Media.getBitmap(getContentResolver(),uri);

        } catch (IOException e) {

            Log.d("PrintIOExeception","*****     "+e.toString());

            e.printStackTrace();
        }

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.JPEG, 25, baos);
        byte[] data = baos.toByteArray();

    mStorageReference = FirebaseStorage.getInstance().getReference();
            StorageReference riversRef = mStorageReference.child("images/" + String.valueOf(System.currentTimeMillis()));
            UploadTask uploadTask;
            uploadTask = riversRef.putBytes(data);

(要么)

uploadTask = riversRef.putFile(data);

哪一種是上傳圖片的快速方法uploadTask = riversRef.putBytes(data); uploadTask = riversRef.putFile(data);

哪一個更快就無關緊要了。 他們倆都做不同的事情。 putFile從URI(Internet上托管的文件,或客戶端本地系統上文件的路徑,以“ file://”為前綴)上載文件,這意味着它將文件下載到服務器。 putBytes接受文件產生的物理字節[]中的字節,並由您(或另一個客戶端)提供給服務器。

此處顯示了API的區別。

此外,還有putStream,它可以接受諸如內存流之類的東西,它可以使客戶端上的文件處理更快,但是就實際上載的速度而言,它完全取決於客戶端和客戶端的連接速度。服務器上,沒有一個功能比另一個功能上傳/下載的速度更快。

但是,總而言之,為回答您的問題,我個人將只對圖像使用putFile(),因為putFile()最有可能在后端為您處理byte []邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM