아래와 같은 소스로 이미지와 ID, password정도를 웹서버로 넘겨 주려하는데 현재는 이미지 전송만 되는 상태입니다.
원래 이미지 전송소스에 ID, password의 문자열 값도 같이 넘기 려면 어떻게 해야 할까요?
package exam.andexam;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class Information extends Activity {
private FileInputStream mFileInputStream = null;
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
static String mFileName; // 이미지 파일명
String uploadUrl = "http://xxx.xxx.xxx.xxx:8000/RequestImage/image_upload.jsp";
String urlname = "";
String sid = "";
String spass = "";
URL connectUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.information);
Intent intent = getIntent();
final String mfile = intent.getExtras().getString("image");
TextView id = (TextView)findViewById(R.id.id);
TextView pass = (TextView)findViewById(R.id.pass);
sid = id.getText().toString();
spass = pass.getText().toString();
TextView img = (TextView)findViewById(R.id.image);
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
doFileUpload(mfile, sid, spass);
}
});
img.setText(mfile);
}
public void doFileUpload(String mfile, String mid, String mpass){
try {
mFileInputStream = new FileInputStream(mfile.toString());
connectUrl = new URL("uploadUrl);
HttpURLConnection conn = (HttpURLConnection) connectUrl.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
// write data
DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\"addfile1\";filename=\"" + mfile + "\"" + lineEnd);
dos.writeBytes(lineEnd);
int bytesAvailable = mFileInputStream.available();
int maxBufferSize = 1024;
int bufferSize = Math.min(bytesAvailable, maxBufferSize);
byte[] buffer = new byte[bufferSize];
int bytesRead = mFileInputStream.read(buffer, 0, bufferSize);
// read image
while (bytesRead > 0) {
dos.write(buffer, 0, bufferSize);
bytesAvailable = mFileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = mFileInputStream.read(buffer, 0, bufferSize);
}
dos.writeBytes(lineEnd);
dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
// close streams
mFileInputStream.close();
dos.flush(); // finish upload...
// get response
int ch;
InputStream is = conn.getInputStream();
StringBuffer b = new StringBuffer();
while ((ch = is.read()) != -1) {
b.append((char) ch);
}
urlname = b.toString();
SharedPreferences prefs = getSharedPreferences("urlname", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("urlname", urlname);
editor.commit();
dos.close();
/*// 임시 파일 삭제
File f = new File(mImageCaptureUri.getPath());
Log.d("test image path",mImageCaptureUri.getPath());
if (f.exists()) {
f.delete();
}*/
} catch (Exception e) {
Log.e("======>!!!", "exception :" + e.getMessage());
}
}
}




"http://xxx.xxx.xxx.xxx:8000/RequestImage/image_upload.jsp";
와 같은 URL 을
"http://xxx.xxx.xxx.xxx:8000/RequestImage/getLogin.jsp?ID=xxx&PW=xxx"; 로
연결한다고 생각하시면 될 것 같습니다.