//업로드
Bitmap bm = null;
try {
bm = MediaStore.Images.Media.getBitmap(getContentResolver(), url);
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
assert bm != null;
bm.compress(Bitmap.CompressFormat.JPEG, 25, baos);
byte[] datad = baos.toByteArray();
UploadTask uploadTask = imageRef.putBytes(datad);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
Toast.makeText(MainActivity.this, "업로드 실패", Toast.LENGTH_SHORT).show();
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc.
Toast.makeText(MainActivity.this, "업로드 완료", Toast.LENGTH_SHORT).show();
}
});
url은 갤러리에서 사진선택해서 받은 경로입니다 content://com.android.providers.media.documents/document/image%3A1647
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap src = BitmapFactory.decodeFile("/sdcard/image.jpg", options);
출처: http://it77.tistory.com/99 [시원한물냉의 사람사는 이야기]
위에 url을 decodeFile 경로에 string변환해서 넣으면 경로를 못찾았다고 에러메세지가 나오더라고요 ㅠㅠ 찾아보니까 메모리 부족으로 팅기는 것 같은데 다른 방법 있을까요?