글 저장시 파일 저장위치 관련 질문드립니다!
post를 저장할 시
photoUris 위치가 안드로이드는
photoUris ["file:///storage/emulated/0/Download/s-34.jpeg", "file:///storage/emulated/0/Download/s-33.jpeg"]
이렇게 콘솔에 찍히고
아이폰은
photoUris ["file:///var/mobile/Media/DCIM/107APPLE/IMG_7585.JPG", "file:///var/mobile/Media/DCIM/107APPLE/IMG_7584.JPG"
이렇게 찍혀서
api/storage 의 uploadPhoto 에 있는
if (uri.startsWith('http')) 이 조건을 충족시키지 못해서 진행이 안되는거 같아서 질문드립니다.
답변 2
1
![]()
현재 코드는 문제없이 잘 동작하고 있습니다.
http로 시작하는 uri는 이미 업로드가 완료되어 firebase의 주소를 갖고 있는 상태이기 때문에 추가로 업로드를 할 필요가 없습니다. 그래서 uploadPhoto에서 http로 시작하는 uri 는 다른 처리는 하지 않고 그대로 return 하는 것입니다.
0
안녕하세요, 인프런 AI 인턴입니다.
dvdve님께서 경험하고 계신 문제는 iOS에서 반환되는 이미지 URI가 로컬 파일 경로로 되어 있어, uploadPhoto 함수에서 해당 URI가 HTTP로 시작하지 않아 발생하는 것입니다. 이 문제는 로컬 파일을 올바르게 서버에 업로드하기 위해 처리 방식의 차이에서 발생합니다.
문제 해결을 위한 제안사항
올바른 URI 체크 및 변환:
- 로컬 URI를 업로드할 수 있도록 변환하거나, 혹은 로컬 파일 경로를 올바르게 처리하도록 기존 로직을 수정해야 합니다. 보통의 경우 로컬 파일은 서버로 직접 업로드할 수 없습니다.
expo-file-system이나react-native-fs를 사용하여 로컬 URI를 변환하거나 서버에 업로드할 수 있도록 필요한 방식으로 조작하면 됩니다.
- 로컬 URI를 업로드할 수 있도록 변환하거나, 혹은 로컬 파일 경로를 올바르게 처리하도록 기존 로직을 수정해야 합니다. 보통의 경우 로컬 파일은 서버로 직접 업로드할 수 없습니다.
중간 서버 사용을 고려:
- 만약 직접 서버에 업로드가 불가능하다면, 중간 서버를 사용해 한 번 변환 후 업로드 하는 방식도 고려해볼 수 있습니다.
- 만약 직접 서버에 업로드가 불가능하다면, 중간 서버를 사용해 한 번 변환 후 업로드 하는 방식도 고려해볼 수 있습니다.
관련 문서 참고:
expo-image-picker의 공식 문서를 참고하여 로컬 파일의 처리를 어떻게 해야 하는지 확인하세요.
유사한 경우의 도움말
iOS에서 ph://로 시작하는 이미지 처리 문제와 같은 사례에서 getAssetInfoAsync 함수를 사용하는 방식이 제안되었습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
expo 가 업데이트 되면서 문제가 발생한거같습니다.
0
342
2
navigation.replace() 작동하지 않습니다.
0
147
2
UpdateProfileScreen 에서 사진 버튼 클릭시 오류발생.
0
132
2
닉네임 수정 후 확인 버튼을 누를시 한글자만 출력됩니다.
0
177
2
모달창에서 버튼이 출력되지 않습니다.
0
104
2
로그인 에러 출력시 default값만 나옵니다.
0
144
2
안드로이드 기기에서 SignUp 화면 관련 질문드립니다.
0
85
2
간단한 질문 하나만 드리겠습니다!
0
76
2
text.trim() 부분에서 오류가 발생합니다.
0
124
2
profile 화면에서 내가 쓴 글이 나타나지 않습니다.
0
140
2
구글 지도 API 관련 오류로 질문드립니다!
0
142
1
HeaderRight 버튼이 작동하지 않습니다.
0
88
2
사진이 나오지 않는 문제로 질문드립니다.
0
113
2
defaultProps 관련 문의 드립니당
0
244
2
이미지 목록을 받아오는 부분에서 IOS 에서 문제가 발생합니다.
0
129
2
안드로이드 기기에서 헤더 부분이 작동이 안됩니다.
0
87
2
[TypeError: unsubscribe is not a function (it is undefined)] 오류 발생으로 질문드립니다.
0
108
2
7.15 :: 상태 변수와 컴포넌트 언마운트 관련 질문드립니다!
0
98
2
SIgnIn SignUp 화면이 안나옵니다.
0
126
2
마지막 useEffect 부분 질문드립니다.
0
100
2
ImagPickerScreen을 만드는 과정에서 문제가 발생하여 글을 남깁니다.
0
208
2
eslint.config.mjs 파일에 plugin 설정방법
0
747
1
ESLint.json 파일이 생성되지 않습니다.
0
236
2
[환경변수 설정]
0
272
1





