#android #kotlin #networking #bitmap
Вопрос:
Я пытаюсь загрузить изображение на сервер, снятое с камеры с помощью вентилятора. Я пытался конвертировать в PNG и JPEG и закодировать в изображение, но добавление составного файла всегда показывает мне ошибки.Вот фрагмент моего кода при попытке.
После того, как сделал фотографию:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == CAMERA_REQUEST_CODE amp;amp; resultCode == RESULT_OK){ bitmap = data!!.extras!!["data"] as Bitmap? encodeBitmap(bitmap) } super.onActivityResult(requestCode, resultCode, data) }
Функция кодирования растрового изображения
private fun encodeBitmap(bitmap: Bitmap?){ val byteArrayOutputStream = ByteArrayOutputStream() bitmap!!.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream) val byteofimages = byteArrayOutputStream.toByteArray() encodedimage = Base64.encodeToString(byteofimages, Base64.DEFAULT) confirmarEntrega() }
И возможность загрузки с помощью вентилятора
private fun confirmarEntrega(){ val uploadURL ="http://192.168.1.229/sistema.com/API/upload.php" val requestQueue = Volley.newRequestQueue(this) val txtNombre = findViewByIdlt;TextViewgt;(R.id.txtClientName) val txtDireccion= findViewByIdlt;TextViewgt;(R.id.txtDireccion) val txtProducto = findViewByIdlt;TextViewgt;(R.id.txtProducto) val txtTelefono = findViewByIdlt;TextViewgt;(R.id.txtTelefono) val scannerTextview = findViewByIdlt;TextViewgt;(R.id.scannerTextView) val btnConfirmar = findViewByIdlt;Buttongt;(R.id.btnConfirmar) progressDialog!!.setMessage("Espere un segundo") progressDialog!!.show() AndroidNetworking.upload(uploadURL) .addMultipartFile("image", encodedimage) //Here's where im lost .setPriority(Priority.HIGH) .build() .setUploadProgressListener(object : UploadProgressListener{ override fun onProgress(bytesUploaded: Long, totalBytes: Long) { } }) .getAsJSONObject(object : JSONObjectRequestListener{ override fun onResponse(response: JSONObject?) { } override fun onError(anError: ANError?) { } }) }
Комментарии:
1.
trying to upload a image to a server as taken from camera
Это всего лишь миниатюра изображения.2.
tried to convert into PNG and JPEG and encoded to image
К jpg я вижу. А затем закодируйте jpg base64.