gpt4 book ai didi

java - Firebase 之间的区别 putBytes 或 putfile 哪个上传速度快?

转载 作者:行者123 更新时间:2023-12-01 20:03:01 25 4
gpt4 key购买 nike

我正在使用 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 接受文件生成的物理 byte[] 中的字节,并由您(或另一个客户端)提供给服务器。

See here API 显示了差异。

此外,还有 putStream,它可以接受内存流之类的东西,这本质上可以使客户端的文件处理速度更快,但就实际上传的速度而言,它完全取决于连接速度客户端和服务器,没有一个函数的上传/下载速度比另一个函数快。

但是,总而言之,为了回答您的问题,我个人只会将 putFile() 用于图像,因为 putFile() 最有可能在后端为您处理 byte[] 逻辑。

关于java - Firebase 之间的区别 putBytes 或 putfile 哪个上传速度快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47833026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com