파일 저장하기 버그

어쩌다 보니 앱인토스의 모든 기능을 써보고 있는데요;; 쉽지가 않네요. ㄷㄷ

안드로이드 AITS 202509291610

  1. AITS에서 파일 저장 시도 시 오류나고 저장 안됨. (데이터 저장에 실패했어요: [Error: FAILED_SAVE]) 컴파일 후 앱출시 테스트에서는 작동됨. (테스트 안드로이드 기기 문제일지도)
  2. 샌드박스앱 안드로이드 최신 빌드가 2025-09-29/1615 라고 적혀있는데. toss-rn-miniapp-1.0.0-202509291615-release.apk 파일 설치해도 앱 내에서는 버전이 …1610으로 표시됨.
  3. 파일 이름에는 확장자를 포함해서 이름을 넣게 가이드 되어있는데. 아래와 같이 저장시 “파일이름.jpg.jpeg” 로 저장을 시도함. fileName에 확장자를 .jpeg로 설정시 추가로 확장자를 붙이지 않음.
    TO-BE: 임의로 mimeType에 따라 확장자 붙이기 금지
await saveBase64Data({
    data: data!,
    fileName: Util.getKstTimestamp() + ‘.jpg’,
    mimeType: ‘image/jpeg’
});
  1. 저장되고 끝나는게 아니라 저장이 되고, 해당 이미지가 공유가 되어버림. (카톡이나 이메일, 드라이브 등을 선택해서 공유하게)
    저장후 공유로 열어 버리는것 같음.
    TO-BE: 열어 공유하는 것은 옵션으로 선택 가능하게.
@apps-in-toss/framework@1.2.0
@toss-design-system/react-native@1.2.1

감사합니다.

안녕하세요 :slight_smile:

  1. 시뮬레이터를 통해 테스트하였는데, 이슈 재현되지 않았습니다 :cry:.. 다른 시뮬레이터로 테스트 부탁드려도될까요 ?
  2. 1610이 최신버전이 맞습니다! 수정해둘게요.
  3. 조치 후 말씀드리겠습니다! fileName, mimeType 확장자가 동일하면 추가로 붙지 않더라구요..! 우선은 동일하게 처리하여 진행 부탁드릴게요 :man_bowing:
  4. 이 부분도 확인 후 말씀드리겠습니다!
1개의 좋아요

1버는 타 기기에서 재현이 안되네요.

4번은 타 기기에서도 계속 문제가 나옵니다.

감사합니다.

이거 이슈 보다보니 저희도 3번 4번 의견이 있어요

  • 3번 파일이름에 확장자 두번 나오는문제
    이전 테스트시 mimeType와 확장자가 같아도 두번 붙어서 저희는 fileName에 확장자를 제거했는데요.
    (지금 확장자가 mineType에 따라 자동으로 생성되고 있음)

      await saveBase64Data({
        data: msg.data,
        fileName: `pic`,
        mimeType: 'image/png',
      });
    

이미 앱코드가 이렇게 나간 상태라..(아마 저희뿐만 아니라 이미 나간분들도 있을텐데)
개선하시는거면 기존 파트너사 코드에 영향 없도록 부탁드릴게요, 혹은 개발가이드에 확장자를 빼는것도 맞을거 같기도 하고요..

  • 4번 저장하기

line1님 말씀하신 것처럼 다운로드하면서 바로 공유트리거가 걸리는데요
이게 기억에는 토스전체가 그랬던거 같긴 한데..

문제는 “저장되었습니다.” 같은 알림이 없어서
유저입장에서는 마치 공유하기 기능으로 오인되는거 같습니다.

물론 공유창 닫고 내 디바이스 살펴보면 다운로드 되어있기는 합니다.

line1님 말씀처럼 공유를 분리하거나 혹은 “저장되었습니다.” 정도 얼럿 추가되면 좋겠습니다.

3번 이슈는 조치될 예정입니다. 기존과 같이 사용하셔도 이슈 없을 거에요.
4번 이슈는 앱인토스 사양상, 저장 후 공유하기 바텀싯이 나오는 방향으로의 처리가 불가피해요 :cry:..

헉.. 이게 저장하기가 아니라 공유하기 기능이였군요.
지금 UX는 사용자에게 혼란을 주기 좋습니다.

  1. 저장 버튼을 눌렀는데, 저장을 했는지도 알려주지 않음.
  2. 저장 버튼을 눌렀는데, 공유하기가 됨.
  3. 버튼 이름을 공유하기로 바꿔도, 저장을 원하는 사람에게 저장 버튼은 없고 공유 버튼만 있으며, 공유할 때 저장된다는 설명을 어떻게…

사용자가 이런 예측을 할 리 없고, 저장 버튼 누를 때 사용자에게 이 상황을 설명할 자신이 없습니다.
왜 저장이 안되고 공유가 되지? 뒤로 가서 계속 저장 버튼을 연타 할 사용자가 보이네요….
우선 변경 계획 없음으로 알고 있겠습니다….

  • 저장 다이얼로그에서 사용자가 ‘네’를 눌렀는지 ‘아니오’를 눌렀는지, 버튼을 눌렀을 때 결과를 받을 수 있으면 좋겠습니다. (toast라도 띄우게..)
  • 확장자는 개발시 지정이 가능하면 좋겠습니다. image/jpeg 같은 경우 보통 jpeg가 아니라 jpg로 저장하니까요.

확인 감사드립니다.

하지만 4번의 경우에는 저장후 공유 바텀싯 나오는게 정책으로 잡혔다면 그건 존중하지만..
이 정책 자체에 UX버그가 존재한다고 봐야할것 같습니다. 아래 시나리오 보면

1.앱에서 예를 들어 이미지 다운로드(저장하기) 클릭
2.파일 다운로드 컨펌창 열림

  • pic_12345.png 파일을 저장할까요?
    아니요 | 네

3-1.아니오 클릭한경우

  • 종료

3-2.네 클릭한경우

  • (유저가 전혀 눈치 못채게 디바이스에 저장함)
  • 공유 바텀 시트 띄움

4.유저

  • 어? 뭐지? 저장(다운로드) 눌렀는데 공유하라는건가? 창닫거나 자기 톡으로 공유함
  • (실제로는 몰래 너의 디바이스에 저장했지롱..)

이런 상황이에요.

따라서 적어도 3-2번 구간에서 “저장되었습니다.” 라는 토스트 얼럿정도는 떠야 합니다.
실제로 저희서비스에서도 저장했음에도 저장안된줄 알고 캡쳐해서 사용하는경우가 많습니다.

이부분 한번 확인 부탁드려요