안녕하세요 

php웹에서 이미지 올리는 것을 하고있습니다 

http://www.androidpub.com/664496 여기서 소스를 얻어 텍스트와 이미지를 올렸는데 

저는 이미지가 최대 다섯장까지 올리게됩니다, 위 링크에서는 한번 소스를 타면 모든게 업로드되고 끝나지만

저는 이미지가 다섯장이기때문에 이미지올리는 부분을 따로 빼서 다섯번을 호출하게하였습니다, 

초보자라 일단 컴파일과 런타임오류가 안나는선에서 뺐는데 두가지 버그가 있습니다, 

다섯개의 이미지를 모두 등록시 마지막 값이 널값이 들어오거나 이상하게 두번째 필드 값이 들어가있고 

또한 세개를 등록 후, 다음에 하나를 등록하면 처음에 등록한 두번째 세번째 값도 같이 등록이되어 

결과적으로 지금등록한 첫이미지와
, 전에 저장한 두번째 세번째 필드값까지 들어가네요, 아마

이미지 패스나 데이터를 올린다음 지우는 부분이 없는것같습니다, 초보자라 소스분석도 벅차는 실정이라 

조언부탁드립니다 ^^

private void HttpFileUpload(String urlString, String params,
String fileName1, String fileName2, String fileName3,
String fileName4, String fileName5, String sellItemName,
String sellId, String itemChk, String sellPrice,
String sellItemInfo, String sellBrend, String sellTag) {

try {
URL connectUrl = new URL(phpUri);
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);
dos = new DataOutputStream(conn.getOutputStream());

writeFormField("SellItemName", sellItemName);
writeFormField("UserId", sellId);
writeFormField("SellPush", itemChk);
writeFormField("SellPrice", sellPrice);
writeFormField("SellItemInfo", sellItemInfo);
writeFormField("SellBrend", sellBrend);
writeFormField("SellTag", sellTag);
DoImageUpload("SellPhoto0", fileName1); //이미지 호출 부분
DoImageUpload("SellPhoto1", fileName2);
DoImageUpload("SellPhoto2", fileName3);
DoImageUpload("SellPhoto3", fileName4);
DoImageUpload("SellPhoto4", fileName5);

int ch;
InputStream is = conn.getInputStream();
StringBuffer b = new StringBuffer();
Log.e("Test4", "File is written");
while ((ch = is.read()) != -1) {
b.append((char) ch);
}
String s = b.toString();
Log.e("Test5", "result = " + s);
dos.close();

// File f = new File(mImageCaptureUri.getPath());
// if (f.exists()) {
// f.delete();
// }
} catch (Exception e) {
Log.d("Test7", "exception " + e.getMessage());
// TODO: handle exception
}
}

//이 부분을 다섯번 호출하는데 문제점이있는 것같습니다, 올린 파일의 경로나 데이터를 초기화하는 부분이나
루프를 잘못돌고 있는지 알고싶습니다..

private void DoImageUpload(String imageField, String imageValue) { 

if (imageValue != null) {
try {
Log.d("DoImageUpload", " value " + imageField + imageValue);

// connectUrl = new URL(urlString);
mFileInputStream = new FileInputStream(imageValue);

Log.e("Test--------------------", " out2 --------------------"
+ imageField + imageValue);
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\""
+ imageField + "\";filename=\"" + imageValue + "\""
+ 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);

Log.d("Test3", "image byte is " + bytesRead);

// 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);
mFileInputStream.close();
dos.flush();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}