Отправка картинки через Okhttp и сохранение его в api на php
Всем привет! Пытаюсь отправить картинку на сервер через OkHttp и сохранить его на сервере. Вот кнопка которая отправляет картинку. Картинка уже в Bitmap.
uploadBtn.setOnClickListener{view ->
val stream = ByteArrayOutputStream()
imageBitmap!!.compress(Bitmap.CompressFormat.JPEG, 100, stream)
val imageByteArray = stream.toByteArray()
val formBody = FormBody.Builder()
.add("code", "createOrg")
.add("createdBy", "8")
.add("name", editText.text.toString())
.add("descript", editText2.text.toString())
.build()
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("image", "test.jpg",
RequestBody.create(MediaType.parse("image/*"),
imageByteArray))
.build()
val request = Request.Builder()
.url(url)
.post(requestBody)
.post(formBody)
.build()
var client = OkHttpClient()
client.newCall(request).enqueue(object :Callback{
override fun onResponse(call: Call, response: Response) {
runOnUiThread{
println("resp = ${response.body()?.string()}")
//Toast.makeText(applicationContext, "Everything is Ok! : ${response.body()?.string().toString()}", Toast.LENGTH_SHORT).show()
finish()
}
}
override fun onFailure(call: Call, e: IOException) {
runOnUiThread{
Toast.makeText(applicationContext, "SOME ERROR : ${e.message}", Toast.LENGTH_SHORT).show()
}
}
})
}
А вот код где я пытаюсь сохранить картинку на сервере.
$data = $_POST();
if ($data['code'] == 'createOrg') {
$createdBy = $data['createdBy'];
$name = $data['name'];
$desc = $data['descript'];
$file_path = "images/";
$file_path = "images/".basename($data['image']['name']);
move_uploaded_file($data['image']['tmp_name'], $file_path);
$sql = "insert into organization(name, descript, createdBy, image) values('$name', '$desc', '$createdBy', '$file_path')";
$res = $con ->query($sql);
if ($res != false) {
echo "1";
} else echo "0";
}
Буду рад любой помощи!