سلام دوستان ، من یک فرم ارزشیابی دارم که برای 5تا از سوالات به دلخواه کاربر میشه عکس گرفت . بعد از تکمیل فرم ارزشیابی باید نتایج به وب سرویس ارسال بشه (همراه با عکسها ). برای همین من JSONObject از پاسخ کاربر میسازم که به این صورته :
{"evaluation":{"UserID":1,"EvaluationDate":"201 8\/29\/12","EvaluationDetailsList":
[{"QuestionID":1,"Description":null,"Image":null,"P ercentScore":0,"QuestionResponseID":3},
"QuestionID":2,"Description":null,"Image":null,"Pe rcentScore":0,"QuestionResponseID":3},
"QuestionID":3,"Description":null,"Image":null,"Pe rcentScore":0,"QuestionResponseID":3},
{"QuestionID":4,"Description":null,"Image":"B@927f 5e6","PercentScore":0,"QuestionResponseID":3}]}}
و با کد زیر هم به وسرویس وصل میشم:
public void sendEvalResult(final JSONObject jsonObject, final ResultCallBack resultCallBack){
JSONObject finalObject=new JSONObject();
try {
finalObject.put("evaluation",jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest req=new JsonObjectRequest(Request.Method.POST, Post_Evaluation_Result, finalObject,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
resultCallBack.onGetResult(null);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
resultCallBack.onFailedGet();
}
}){
@Override
public String getBodyContentType() {
return "application/json;";
}
};
AppSingleton.getInstance(context).addToRequestQueu e(req,"PostResult");}
متغیر finalObject همون آبجکتیه که باید به وب سرویس ارسال بشه. وقتی این آبجکت عکسی نداشته باشه بخوبی کار میکنه ولی وقتی عکسی بهش اضافه میکنم خطا میده.
تا جایی که سرچ کردم به این نتیجه رسیدم که باید از MultiPartRequest استفاده کنم. ولی نمیدونم چطور میتونم از این رکوست برای درخواستی به این شکل استفاده کنم. ممنون میشم راهنمایی کنید.