Android – OkHttp
public class DBConvertor { public static void send2Server(String url, File imageFile) { RequestBody requestBody=null; try { requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM) .addFormDataPart("img",imageFile.getName(), RequestBody.create(MultipartBody.FORM, imageFile)) .build(); }catch (Exception e){ } Log.d("ReviewImageUpload",requestBody.toString()); Request request = new Request.Builder().url(url) .post(requestBody).build(); OkHttpClient client = new OkHttpClient(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { Log.d("TEST : ", response.body().string()); } }); } }
PHP
<?php $con = mysqli_connect("localhost", "DBID", "DBPASSWD", "DBNAME"); mysqli_query($con,'SET NAMES utf8'); $file= $_FILES['img']; //이미지 파일을 영구보관하기 위해 //이미지 파일의 세부정보 얻어오기 $srcName= $file['name']; $tmpName= $file['tmp_name']; //php 파일을 받으면 임시저장소에 넣는다. 그곳이 tmp //임시 저장소 이미지를 원하는 폴더로 이동 $dstName= "../uploads/".date('Ymd_his').$srcName; $result=move_uploaded_file($tmpName, $dstName); $saveFile =date('Ymd_his').$srcName; $handle = fopen($dstName,'rb'); $content = addslashes(fread($handle,filesize($dstName))); $sql = "INSERT INTO dbname(image_name,image_blob) VALUES('$saveFile','$content');"; $res = mysqli_query($con,$sql); // 접속 실패 시 메시지 나오게 하기 if (mysqli_connect_errno($con)) { echo "MySQL접속 실패: " . mysqli_connect_error(); } // 기본 클라이언트 문자 집합 설정하기 mysqli_set_charset($con,"utf8"); // 결과를 배열로 변환하기 위한 변수 정의 mysqli_close($con); ?