в моем приложении у меня есть формы. Данные формы сначала сохраняются в локальной базе данных (SQLite), но когда мы нажимаем кнопку синхронизации, все несохраненные данные сохраняются на онлайн-сервере. Все работает нормально, кроме изображения. Изображение не сохраняется. Теперь я хочу, чтобы изображение было сохранено в папке. Затем путь к папке должен быть сохранен в графическом столбце MySQL. Я знаю, что этот вопрос задавали много раз, но никто не решил мою проблему. Вот мой код залпа:
if (checkNetworkConnection()) {
allDataList = databaseHelper.getAllDataforSync();
Toast.makeText(DashBoardActivity.this, "" + allDataList.size(), Toast.LENGTH_SHORT).show();
if (allDataList.size() == 0) {
AlertDialog.Builder builder2 = new AlertDialog.Builder(DashBoardActivity.this);
LayoutInflater inflater2 = getLayoutInflater();
View view2 = inflater2.inflate(R.layout.nodatatoshow_dialog_box, null);
builder2.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder2.setView(view2);
AlertDialog alertDialog = builder2.create();
alertDialog.show();
} else {
for (final FullModel fullModel : allDataList) {
final Map<String, String> params = new HashMap<>();
params.put("name", fullModel.getSale_name());
params.put("sale_mobile", fullModel.getSale_mobile());
params.put("sale_cnic", fullModel.getSale_cnic());
params.put("buyer_name", fullModel.getBuyer_name());
params.put("buyer_mobile", fullModel.getBuyer_mobile());
params.put("buyer_cnic", fullModel.getBuyer_cnic());
params.put("picture", String.valueOf(fullModel.getPicture()));
params.put("date", fullModel.getDate());
params.put("location", fullModel.getLocation());
params.put("a_type", "");
params.put("price", "");
params.put("goat_q", "" + fullModel.getGoatQ());
params.put("goat_r", "" + fullModel.getGoatP());
params.put("goat_t", "" + fullModel.getGoatT());
params.put("sheep_q", "" + fullModel.getSheepQ());
params.put("sheep_r", "" + fullModel.getSheepP());
params.put("sheep_t", "" + fullModel.getSheepT());
params.put("cow_q", "" + fullModel.getCowQ());
params.put("cow_r", "" + fullModel.getCowP());
params.put("cow_t", "" + fullModel.getCowT());
params.put("camel_q", "" + fullModel.getCamelQ());
params.put("camel_r", "" + fullModel.getCamelP());
params.put("camel_t", "" + fullModel.getCamelT());
params.put("horse_q", "" + fullModel.getHorseQ());
params.put("horse_r", "" + fullModel.getHorseP());
params.put("horse_t", "" + fullModel.getHorseT());
params.put("donkey_q", "" + fullModel.getDonkeyQ());
params.put("donkey_r", "" + fullModel.getDonkeyP());
params.put("donkey_t", "" + fullModel.getDonkeyT());
params.put("buff_q", "" + fullModel.getBufQ());
params.put("buff_r", "" + fullModel.getBufP());
params.put("buff_t", "" + fullModel.getBufT());
params.put("total_am", "" + fullModel.getTotalAm());
StringRequest stringRequest = new StringRequest(Request.Method.POST, SERVER_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
int status = jsonObject.getInt("status");
String message = jsonObject.getString("message");
if (status == 200) {
Toast.makeText(DashBoardActivity.this, "Data saved in Application server", Toast.LENGTH_SHORT).show();
databaseHelper.updateSyncState(fullModel.getId(), SYNC_STATE_OK);
} else {
Toast.makeText(DashBoardActivity.this, "Data not saved" + message, Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
Toast.makeText(DashBoardActivity.this, "" + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return params;
}
};
MySingleton.getInstance(DashBoardActivity.this).addToRequestQueue(stringRequest);
}
}
}
php part:
$query = "insert into sell(name, sale_cnic, sale_mobile, buyer_name, buyer_mobile, buyer_cnic, picture, date, location, a_type,
price, goat_q, goat_r, goat_t, sheep_q, sheep_r, sheep_t, cow_q, cow_r, cow_t, camel_q, camel_r, camel_t, horse_q, horse_r, horse_t,
donkey_q, donkey_r, donkey_t, buff_q, buff_r, buff_t, total_am) VALUES('".$name."', '".$sale_cnic."', '".$sale_mobile."', '".$buyer_name."',
'".$buyer_mobile."', '".$buyer_cnic."', '".$picture."', '".$date."', '".$location."', '".$a_type."', '".$price."', '".$goat_q."', '".$goat_r."',
'".$goat_t."', '".$sheep_q."', '".$sheep_r."', '".$sheep_t."', '".$cow_q."', '".$cow_r."', '".$cow_t."', '".$camel_q."', '".$camel_r."',
'".$camel_t."', '".$horse_q."', '".$horse_r."', '".$horse_t."', '".$donkey_q."', '".$donkey_r."', '".$donkey_t."', '".$buff_q."', '".$buff_r."',
'".$buff_t."', '".$total_am."');";
$upload_path = "uploads/$sale_mobile.jpg";
$result = mysqli_query($con,$query);
if($result){
file_put_contents($upload_path, base64_decode($picture));
$response['status'] = 200;
$response['message'] = 'Data sync successfully';
}
else{
$response['status'] = 400;
$response['message'] = 'Data sync error';
}
Почему изображение не отображается, если я вижу его в базе данных MySQL. Пожалуйста, мне нужна помощь!