마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

firebase storage 음성파일 업로드, 다운로드 문제

0 추천

핸드폰으로 녹음한 파일(storage/emulated/0/recorded 경로)을 storage에 업로드후 다운로드를 다른폰에서 할려고 합니다.

이미지 파일은 업로드가 재대로 이루어지나 음성파일(mp4)은 업로드되나 음성파일 확인이 되지 않습니다.

위와같이 음성파일을 확인할수 없습니다. mp3, mp4확장자를 바꾸어 봤는데도 이루어지지 않습니다.

 

한가지 추가적인 문제점은 download가 이루어지지 않습니다.

recod_download.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        StorageReference storageRef = storage.getReference();
        StorageReference islandRef ;

        islandRef = storageRef.child("images/recorded.mp4");

        File localFile = null;
        try {
            localFile = File.createTempFile("recorded", "mp4");
        } catch (IOException e) {
            e.printStackTrace();
        }

        final File finalLocalFile = localFile;
        islandRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                // Local temp file has been created

                Toast.makeText(getApplicationContext(), "파일 저장 성공", Toast.LENGTH_SHORT).show();
                Toast.makeText(getApplicationContext(), finalLocalFile.getPath()+"", Toast.LENGTH_SHORT).show();
                System.out.println("getpath : " + finalLocalFile.getPath());


            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception exception) {
                // Handle any errors
                Toast.makeText(getApplicationContext(), "파일 저장 실패", Toast.LENGTH_SHORT).show();

            }
        });
    }
});

분명 파일저장 성공으로 뜬뒤 경로를 확인해보니 

/data/user/0/com.yeop.gpscheck/cache/image1402153514jpg

로나옵니다. 하지만 핸드폰상에 저 경로는 찾아보니 없고 검색으로 찾아봐도 나오지 않습니다.

이미지파일, 음성파일 모두 '파일저장 성공'메세지가 나타나나 정확한 경로를 모르겠습니다.

소스의 문제인것 같으나 발견하지 못하였습니다.

 

안드로이드 초보여서 기초적인 부분이 부족한점들이 많습니다. 선배님들의  조언을 받고싶습니다.

yeop5 (430 포인트) 님이 2018년 4월 21일 질문
localFile = File.createTempFile("recorded", "mp4",new File("/storage/emulated/0"));
이렇게 수정하여 해결하였습니다.
다만 아직도 temp파일경로쪽에는 저장이 왜 되지않는지 그리고 해결한 방법으로 할시에 확장자가 붙지않고 다운로드가 됩니다.. 이유가 무엇일까요 ?
localFile = File.createTempFile("recorded", ".mp4",new File("/storage/emulated/0"));
로해결하였습니다.! 질문한거 아시는분 있으면 알려주시면 감사하겠습니다

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...