안드로이드에서 서버로 파일 업로드와 다운로드.
그냥 한시간이면 다 할줄 알았건만 뭐이리 어려운지 거의 4일정도 삽질하였다.
단순히 삽질한 사항 정리할겸 올리는 글이므로 별로 유익하지 않을 것이다.
1. 벽에다 대고 말하기.
httpclient 라이브러리를 사용하여 어찌어찌 업로드 요청을 하는 POST리퀘스트를 작성하였다. 정말 완벽하게 잘 짯다고 생각했던 나의 리퀘스트를 아무리 서버에 날려도 파일 업로드가 되지 않았다. 리퀘스트는 정상적으로 200 OK를 나타내며 잘 날아갔다. 하루를 허비했다. 동기들중 실력이 매우 뛰어난 팀장형께서 한번 봐주시더니 서버에 php파일 있냐고 물어보시더라.... 아차 싶었다. 리퀘스트를 날렸을때 그걸 받아서 처리해주는 php코드가 서버에 당연히 있었어야했는데 내가 그걸 왜 놓쳤을까 ㅋㅋㅋㅋㅋㅋ 한참 멘붕오고 다음날 바로 완성시켰다. 서버에는 리퀘스트를 처리해줄 수 있는 php파일이 존재해야한다. 아주 기본적인 내용이지만 잘 새겨놓자.
2. 404 Not Found!
업로드 성공적으로 마쳤다. 그런데 다운로드에서 문제가 발생하였다. 분명 서버에 올라가있는 파일인데 다운로드가 안되는 것이었다. 인터넷에 주소를 직접 쳐보니 404 오류가떴다. 구글링을 아무리해도 권한수정하라 얘기밖에 없는데 권한설정에 대해선 도가 텄기때문에 구글링하기전 이미 다 손봐둔 상태였다. 뭐가문제인제 어디 물어볼곳도 없고 구글링으로 10시간째 날리던중 http://serverfault.com/questions/180952/404-error-on-a-file-that-exists 이 링크의 답변을 보게 되었다. 소유자를 같게 해야한다는 것이었다. 뭐 이런 당연한 답변이 있나 싶었지만 그래도 ls -l옵션으로 확인해보았다. 문제는 전혀 엉뚱한 곳에 있었다. 폴더명뒤에 물음표 두개가 박혀있었다. 어 이거뭐지 싶어서 "cd 문제의디렉토리명" 명령어를 써보니 디렉토리가 존재하지 않다더라...... 디렉토리명을 바꾸기위해 들어가보니 맨뒤에 공백문자 두개가 박혀있었다.................... POST리퀘스트 날리는부분에서 내가 \r\n을 두번 더써줬기 때문에 이런 어처구니 없는 증상이 발생하게 되었다.... 이거때문에 이틀날렸다...
블로그 첫글부터 삽질에 대한 글을 써버리니 앞으로 미래가 참 암담하다..
다음부터는 좀 긍정적인 내용의 글을 작성하도록 노력해야겠다.
사진도 좀 첨부하고 전공외에도 취미생활 등 정말 유익한 블로그를 만들고 싶다.