This is a dating app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

46 lines
1.0 KiB

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
)
}