본문 바로가기

uri 길이제한2

Android에서 image BLOB MySQL에 저장하기 Android 소스 PHP 소스 MySQL DB 구조 원리 Android에서 image파일을 MySQL에 BLOB로 저장하기 위해서는 몇가지 과정을 거쳐야 합니다. 안드로이드 카메라든 갤러리에서 가져온 Image을 압축하여 byte array 형태로 변환합니다. 그리고 변환된 데이터를 Base64로 string 형태로 인코딩합니다. 그리고 이 인코딩 된 데이터를 보내야하는데 중간에 공백이 있어 HTTP GET방식으로 보낼 수 없습니다. 그래서 다시한번 UTF-8로 인코딩합니다. PHP 받은 데이터를 base64로 디코딩합니다. 디코딩 된 데이터는 이진수이고 곳곳에 특수문자도 있어 escape합니다. 이제 최종 데이터를 mysql에 insert해주면 됩니다. PHP에서도 주의할 점은 Apache 서버에서 .. 2017. 7. 26.
Request-URI Too Long(Large) 에러 Apache 서버로 get방식으로 길게 보내면 위 와같은 에러메세지가 뜰때가 있습니다. 저는 android에서 사진을 BLOB로 DB(MySQL)에 저장하려고 하다보니 위와 같은 메세지를 만났습니다. Android에서는 MySQL에 바로 접근이 안되기 때문에 PHP를 거쳐야 합니다. ANDROID - MYSQL 통신하기 자세한건 위 포스트를 참고하세요^^ 해결 방법은 2가지입니다. POST방식을 쓰느냐, 아니면 GET방식인데 요청주소길이를 늘려주느냐 기존 다른 요청들도 GET방식이라 길이 주소를 늘리기로 결정합니다. ※ GET방식의 주소 길이 제한이 HTTP/1.0에서는 있었지만, HTTP/1.1부터는 제한은 없다고 합니다. 다만 255바이트 이상일시 주의하라고만 되어있습니다. 길이를 늘리기 위해서는 a.. 2017. 7. 26.

인기글