Android 使用putFile()或putBytes()在Firebase上上载图像?
我想在firebase上上传多个图像,我使用putFile()上传文件…但是,当我使用putFile时,它的上传图像直接来自本地系统,我无法在上传之前压缩图像…另一方面,如果我使用putBytes(),因为它需要将文件的全部内容同时保存在内存中,内存将耗尽…我需要做的是,有没有办法压缩图像文件并用putFile()而不是putBytes上传 谢谢Android 使用putFile()或putBytes()在Firebase上上载图像?,android,firebase,firebaseui,Android,Firebase,Firebaseui,我想在firebase上上传多个图像,我使用putFile()上传文件…但是,当我使用putFile时,它的上传图像直接来自本地系统,我无法在上传之前压缩图像…另一方面,如果我使用putBytes(),因为它需要将文件的全部内容同时保存在内存中,内存将耗尽…我需要做的是,有没有办法压缩图像文件并用putFile()而不是putBytes上传 谢谢 @Override public void onActivityResult(int requestCode, int resultCode, Int
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==1 && resultCode==RESULT_OK && data!=null) {
Uri selectedImage = data.getData();
slike.add(selectedImage);
brojanjeSlika++;
final ImageView imageview = new ImageView(UploaderActivity.this);
LinearLayout.LayoutParams params = new LinearLayout
.LayoutParams(120,120);
params.setMargins(2,2,2,2);
params.weight=1;
imageview.setLayoutParams(params);
mLinearLayout.setPadding(5,5,5,5);
mLinearLayout.addView(imageview);
Picasso.with(imageview.getContext())
.load(selectedImage)
.resize(120,120)
.centerCrop()
.into(imageview);
您可以将本地文件压缩到另一个本地文件中,然后上载第二个文件。但据我所知,大多数图像处理库都会在内存中加载整个图像以调整其大小,因此我认为这种方法不会给您带来太多好处。您能告诉我在firebase上上载多个图像的最正确方法是什么吗?用一句话。。。谢谢