package com.example.dattingapp.registration import android.content.Context import android.net.Uri import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody import okhttp3.RequestBody.Companion.asRequestBody import java.io.File fun uriToMultipart( context: Context, uri: Uri, fieldName: String, fileName: String ): MultipartBody.Part { val inputStream = context.contentResolver.openInputStream(uri) ?: throw Exception("Cannot open selected file") val tempFile = File( context.cacheDir, fileName ) inputStream.use { input -> tempFile.outputStream().use { output -> input.copyTo(output) } } val mimeType = context.contentResolver.getType(uri) ?: "application/octet-stream" val requestBody = tempFile.asRequestBody( mimeType.toMediaTypeOrNull() ) return MultipartBody.Part.createFormData( fieldName, tempFile.name, requestBody ) }