1 2 | // AndroidManifest.xml에 사용권한 추가 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
1 2 3 4 5 6 7 8 9 10 | // 내부 사진첩 열기 ImageView imageView = findViewById(R.id.img); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(MediaStore.Images.Media.CONTENT_TYPE); startActivityForResult(intent, 1000); } }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { switch (requestCode) { case 1000: // 선택한 이미지를 ImageView에 표시 imageView.setImageURI(data.getData()); // 이미지 내부경로 imagePath = getPath(data.getData()); break; } } private String getPath(Uri uri) { String [] proj = {MediaStore.Images.Media.DATA}; CursorLoader cursorLoader = new CursorLoader(this, uri, proj, null, null, null); Cursor cursor = cursorLoader.loadInBackground(); int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(index); } |
1 2 3 4 5 6 7 8 9 10 11 12 | // 전역변수 선언 private FirebaseFirestore db; private FirebaseStorage storage; private StorageReference storageRef; private StorageReference recvRef; // 초기화 및 Storage 버킷설정 private void init() { db = FirebaseFirestore.getInstance(); storage = FirebaseStorage.getInstance("xxx-xxx.appspot.com"); storageRef = storage.getReference(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Uri file = Uri.fromFile(new File(companyImgPath)); // 업로드 폴더 지정 recvRef = storageRef.child("company/" + file.getLastPathSegment()); recvRef.putFile(file).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { // 업로드 완료후 다운로드 경로 가져오기 recvRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { @Override public void onSuccess(Uri uri) { // 다운로드 경로 표시 (uri.toString()) Log.d(TAG, uri.toString()); } }); } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.d(TAG, "Image Upload failure."); } }); |

