티스토리 뷰
안드로이드 코드
private void uploadPhoto(final Bitmap bitmap){ Thread thread = new Thread(new Runnable() { public void run() { ByteArrayOutputStream bao = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bao); byte [] ba = bao.toByteArray(); String ba1 = Base64.encodeToString(ba, Base64.DEFAULT); ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("image", ba1)); try { HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("http://10.0.2.2:80/android/base.php");
post.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = client.execute(post); //HttpEntity entity = response.getEntity(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); thread.start(); }
위처럼 쓰레드로 감싸는 이유는, 허니콤 부터 Network 관련 부분을 쓰레드로 감싸지 않으면 Exception을 띄우게 해놨기 때문이다. 무슨 익셉션인지는 까먹었다.. 여튼 저렇게 쓰레드로 감싸야 한다!
서버 코드
<?php
$base=$_REQUEST['image']; echo $base; // base64 encoded utf-8 string $binary=base64_decode($base); // binary, utf-8 bytes header('Content-Type: bitmap; charset=utf-8'); // print($binary); //$theFile = base64_decode($image_data); $file = fopen('test.jpg', 'wb'); fwrite($file, $binary); fclose($file); echo '<img src=test.jpg>'; ?>
정말 간단하다! 아 그리고 안드로이드에 Internet permission 추가하는거 잊지 말 것.
* http://javaexpert.tistory.com/368에 있는 내용을 일부 수정 하여 게시함.
'Development > Mobile' 카테고리의 다른 글
[Android JNI/NDK] JNI의 변수 타입과 시그니처 (1) | 2015.09.18 |
---|---|
[Android JNI/NDK] JNI와 NDK에 대한 대략적인 설명 (0) | 2015.09.17 |
[Android] 각 View들의 setBackground... setImage..등등의 사항이 다르다. (0) | 2013.12.21 |
[android] Logcat의 filter(필터)가 제대로 동작하지 않는다. (0) | 2013.12.15 |
[android] 안드로이드 메모리 누수 줄이기 (0) | 2013.04.06 |
[android] 다른 앱(페이스북, 트위터 등)에 사진 공유하기 (0) | 2013.04.04 |
[SPen] SPen SDK 2.1의 새로운 기능 (0) | 2012.12.03 |
[SPen] SPen SDK를 사용하기 위해 알아야 하는 사이트들 (0) | 2012.11.18 |
- Total
- Today
- Yesterday
- 안드로이드
- C++
- driver
- jni
- database
- winapi
- 프로그래밍
- it
- 리눅스
- API
- Cloud
- db
- NDK
- Quiz
- linux
- algorithm
- java
- 음악
- android
- jni강좌
- MFC
- kering
- AWS
- C
- 드라이버
- source
- gcc
- Python
- Visual C++
- Troubleshooting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |