private void sendData(){
MultiPartRequest multiPartRequest = new MultiPartRequest(Request.Method.POST, Config.REGISTER_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject json = new JSONObject(response);
if (json.getString("result").equals("success")) {
//성공
}else{
//실패
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "sendData error" + error);
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("param", jc.createJsonParam(number, "데이터"));
return params;
}
@Override
protected Map<String, DataPart> getByteData() throws AuthFailureError {
Map<String, DataPart> params = new HashMap<String, DataPart>();
params.put("img", new DataPart(id + ".jpg", getFileDataFromBitmap(selectImg), "image/jpeg"));
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(multiPartRequest);
}
volley 를 이용하여 서버에 데이터를 보내고 있습니다.
multiPartRequest를 이용해서 이미지와 함께 서비스코드 텍스트들을 보내고 있는데
보낼때 logcat으로 param 찍어보면 한글 잘 나오는데
서버에서 받으면 한글이 깨져있습니다. 그래서 그런지 fail : param is not json 을 띄우네요,,
동일한 코드를 한글 없이 영문자로만 보내면 success 뜹니다.
흠 한글을 어떻게 보내줘야 할지요..?
파일은 UTF-8로 되있는 상태이며, 따로 인코딩을 해서 보내보면 아예 error 가 떠버립니다.