웹서버에 이미지를 올리는 것 까지는 구현했습니다.
이미지를 전송과 동시에 ID값을 넘겨주고 싶습니다..
이미지는 이렇게 전달해주는 걸 알겠는데..
dataOutputStream.writeBytes(twoHyphens + boundary + lineEnd);
dataOutputStream.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\""
+ Send_File_Path + "\"" + lineEnd);
dataOutputStream.writeBytes(lineEnd);
텍스트는 어떻게 전달해주는지 모르겠어요 ㅠㅠ
또 PHP에서는 어떻게 받아오는지도 모르겠어요 ...
어떻게 해야되는지 도저히 안풀리네요 ㅠㅠ 도와주시면 감사하겠습니다..
PHP소스
<?php
header("Content-Type:text/html;charset=utf-8");
$file_path = "/home/hosting_users/matchgame/www/test_matchgame/img/";
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
rename($file_path, $file_path2);
} else{
echo "fail";
}
?>
자바소스
// Open a HTTP connection to the URL
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true); // Allow Inputs
conn.setDoOutput(true); // Allow Outputs
conn.setUseCaches(false); // Don't use a Cached Copy
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("ENCTYPE", "multipart/form-data");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
conn.setRequestProperty("uploaded_file", Send_File_Path);
dataOutputStream = new DataOutputStream(conn.getOutputStream());
dataOutputStream.writeBytes(twoHyphens + boundary + lineEnd);
dataOutputStream.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\"" + Send_File_Path + "\"" + lineEnd);
dataOutputStream.writeBytes(lineEnd);
// create a buffer of maximum size
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize];
// read file and write it into form...
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
while (bytesRead > 0) {
dataOutputStream.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
Log.e(TAG, "파일 사이즈 : " + Obj_File_Path.length());
Log.e(TAG,"maxBufferSize : " + maxBufferSize);
}
// send multipart form data necesssary after file data...(파일 데이터 다음에 필요한 여러 부분 양식 데이터 보내기)
dataOutputStream.writeBytes(lineEnd);
dataOutputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
// 서버응답코드 GET
serverResponseCode = conn.getResponseCode();
String serverResponseMessage = conn.getResponseMessage();
Log.e(TAG, "HTTP Response is : " + serverResponseMessage + ": " + serverResponseCode);
if(serverResponseCode == 200){
Log.e( TAG,"성공");
}else{
Log.e( TAG,"실패");
}
//close the streams //
fileInputStream.close();
dataOutputStream.flush();
dataOutputStream.close();