将图像从库上载到Firebase存储时,图像方向会发生变化

时间:2016-10-31 08:01:28

标签: java android firebase-storage

当我上传大约559.23KB及以上的图片时,我有一个Android应用程序Firebase存储更改其方向。以下是示例图片。 enter image description here

这就是它在我的Android应用程序中的显示方式。

enter image description here

我有什么方法可以Firebase Storage,而不是更改大于559.23kB的图像方向。

此解决方案是否有Firebase Storage规则,还是Java代码?

这是我的上传图片代码

imageSelect.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT);
                galleryIntent.setType("image/");
                startActivityForResult(galleryIntent, GALLERY_REQUEST);
            }
        });

private void startPosting() {
        mProgress.setMessage("Uploading Image...");


        final String title_val = mPostTitle.getText().toString().trim();
        final String desc_val = mPostDesc.getText().toString().trim();
        if (!TextUtils.isEmpty(title_val) && !TextUtils.isEmpty(desc_val) && imageUri != null) {
            mProgress.show();
            StorageReference filepath = mStorage.child("BlogImages").child(imageUri.getLastPathSegment());
            filepath.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {


                    Uri downloadUri = taskSnapshot.getDownloadUrl();
                    DatabaseReference newPost = mDatabase.push();
                    DatabaseReference c = mDatabase.push();
                    newPost.child("EventTitle").setValue(title_val);
                    newPost.child("EventDescription").setValue(desc_val);
                    newPost.child("EventImage").setValue(downloadUri.toString());
                    newPost.child("PostId").setValue(c);



                    mProgress.dismiss();
                    startActivity(new Intent(PostActivity.this, MainActivity.class));


                }
            }


            );


        }

上传按钮上的onClickListener

postButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startPosting();
            }
        });

这是我如何附加图库中的图像,然后我将其上传到Firebase存储。点击后。

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == GALLERY_REQUEST && resultCode == RESULT_OK) {


             imageUri = data.getData();
            Picasso.with(c).load(imageUri).fit().centerCrop().into(imageSelect);

        }
    }

0 个答案:

没有答案