How do I reduce size/resolution of an image before uploading to firebase storage?
I am trying to upload a image to firebase storage but large images are making my app lag/slow so I want to scale down images or are there any other alternatives
android firebase firebase-storage
add a comment |
I am trying to upload a image to firebase storage but large images are making my app lag/slow so I want to scale down images or are there any other alternatives
android firebase firebase-storage
research on image compression. You can compress bitmaps to JPEG or PNG etc. By the way, make sure you upload in a separate thread (use Async task) because you do not want to block your UI thread while uploading
– TheEngineer
Nov 22 at 18:47
@SURAJ BISHT, did my answer help? I think that compressing the bitmap to a JPEG should solve the issue of making the image smaller so that the app does not lag.
– Ishaan
Nov 23 at 4:24
add a comment |
I am trying to upload a image to firebase storage but large images are making my app lag/slow so I want to scale down images or are there any other alternatives
android firebase firebase-storage
I am trying to upload a image to firebase storage but large images are making my app lag/slow so I want to scale down images or are there any other alternatives
android firebase firebase-storage
android firebase firebase-storage
asked Nov 22 at 17:52
SURAJ BISHT
11
11
research on image compression. You can compress bitmaps to JPEG or PNG etc. By the way, make sure you upload in a separate thread (use Async task) because you do not want to block your UI thread while uploading
– TheEngineer
Nov 22 at 18:47
@SURAJ BISHT, did my answer help? I think that compressing the bitmap to a JPEG should solve the issue of making the image smaller so that the app does not lag.
– Ishaan
Nov 23 at 4:24
add a comment |
research on image compression. You can compress bitmaps to JPEG or PNG etc. By the way, make sure you upload in a separate thread (use Async task) because you do not want to block your UI thread while uploading
– TheEngineer
Nov 22 at 18:47
@SURAJ BISHT, did my answer help? I think that compressing the bitmap to a JPEG should solve the issue of making the image smaller so that the app does not lag.
– Ishaan
Nov 23 at 4:24
research on image compression. You can compress bitmaps to JPEG or PNG etc. By the way, make sure you upload in a separate thread (use Async task) because you do not want to block your UI thread while uploading
– TheEngineer
Nov 22 at 18:47
research on image compression. You can compress bitmaps to JPEG or PNG etc. By the way, make sure you upload in a separate thread (use Async task) because you do not want to block your UI thread while uploading
– TheEngineer
Nov 22 at 18:47
@SURAJ BISHT, did my answer help? I think that compressing the bitmap to a JPEG should solve the issue of making the image smaller so that the app does not lag.
– Ishaan
Nov 23 at 4:24
@SURAJ BISHT, did my answer help? I think that compressing the bitmap to a JPEG should solve the issue of making the image smaller so that the app does not lag.
– Ishaan
Nov 23 at 4:24
add a comment |
1 Answer
1
active
oldest
votes
Here is a function that you can use to do it. You need to pass in the bitmap
of your image into the function:
private void doUpload(Bitmap bitmap) {
//Change this to your picture name.
String s = "MyPicture.jpg";
StorageReference storageReference2 = FirebaseStorage.getInstance().getReference(s);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//Compress the original bitmap down into a JPEG.
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte data2 = baos.toByteArray();
//Get an array of the bytes and upload it to Firebase Storage.
UploadTask uploadTask = storageReference2.putBytes(data2);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
makeToast("Exception " + exception.getMessage());
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
makeToast("Picture uploaded.");
}
});
}
This should upload the picture to Firebase Storage. It compresses the image to a JPEG. You can change the name of the picture by changing the value of the String s
above. Hope this helps.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436111%2fhow-do-i-reduce-size-resolution-of-an-image-before-uploading-to-firebase-storage%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Here is a function that you can use to do it. You need to pass in the bitmap
of your image into the function:
private void doUpload(Bitmap bitmap) {
//Change this to your picture name.
String s = "MyPicture.jpg";
StorageReference storageReference2 = FirebaseStorage.getInstance().getReference(s);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//Compress the original bitmap down into a JPEG.
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte data2 = baos.toByteArray();
//Get an array of the bytes and upload it to Firebase Storage.
UploadTask uploadTask = storageReference2.putBytes(data2);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
makeToast("Exception " + exception.getMessage());
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
makeToast("Picture uploaded.");
}
});
}
This should upload the picture to Firebase Storage. It compresses the image to a JPEG. You can change the name of the picture by changing the value of the String s
above. Hope this helps.
add a comment |
Here is a function that you can use to do it. You need to pass in the bitmap
of your image into the function:
private void doUpload(Bitmap bitmap) {
//Change this to your picture name.
String s = "MyPicture.jpg";
StorageReference storageReference2 = FirebaseStorage.getInstance().getReference(s);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//Compress the original bitmap down into a JPEG.
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte data2 = baos.toByteArray();
//Get an array of the bytes and upload it to Firebase Storage.
UploadTask uploadTask = storageReference2.putBytes(data2);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
makeToast("Exception " + exception.getMessage());
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
makeToast("Picture uploaded.");
}
});
}
This should upload the picture to Firebase Storage. It compresses the image to a JPEG. You can change the name of the picture by changing the value of the String s
above. Hope this helps.
add a comment |
Here is a function that you can use to do it. You need to pass in the bitmap
of your image into the function:
private void doUpload(Bitmap bitmap) {
//Change this to your picture name.
String s = "MyPicture.jpg";
StorageReference storageReference2 = FirebaseStorage.getInstance().getReference(s);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//Compress the original bitmap down into a JPEG.
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte data2 = baos.toByteArray();
//Get an array of the bytes and upload it to Firebase Storage.
UploadTask uploadTask = storageReference2.putBytes(data2);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
makeToast("Exception " + exception.getMessage());
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
makeToast("Picture uploaded.");
}
});
}
This should upload the picture to Firebase Storage. It compresses the image to a JPEG. You can change the name of the picture by changing the value of the String s
above. Hope this helps.
Here is a function that you can use to do it. You need to pass in the bitmap
of your image into the function:
private void doUpload(Bitmap bitmap) {
//Change this to your picture name.
String s = "MyPicture.jpg";
StorageReference storageReference2 = FirebaseStorage.getInstance().getReference(s);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//Compress the original bitmap down into a JPEG.
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte data2 = baos.toByteArray();
//Get an array of the bytes and upload it to Firebase Storage.
UploadTask uploadTask = storageReference2.putBytes(data2);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
makeToast("Exception " + exception.getMessage());
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
makeToast("Picture uploaded.");
}
});
}
This should upload the picture to Firebase Storage. It compresses the image to a JPEG. You can change the name of the picture by changing the value of the String s
above. Hope this helps.
answered Nov 22 at 19:02
Ishaan
8611417
8611417
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436111%2fhow-do-i-reduce-size-resolution-of-an-image-before-uploading-to-firebase-storage%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
research on image compression. You can compress bitmaps to JPEG or PNG etc. By the way, make sure you upload in a separate thread (use Async task) because you do not want to block your UI thread while uploading
– TheEngineer
Nov 22 at 18:47
@SURAJ BISHT, did my answer help? I think that compressing the bitmap to a JPEG should solve the issue of making the image smaller so that the app does not lag.
– Ishaan
Nov 23 at 4:24