24 lines
613 B
Kotlin
24 lines
613 B
Kotlin
package core.utils
|
|
|
|
import android.content.Context
|
|
import android.net.Uri
|
|
import java.io.File
|
|
import java.io.FileOutputStream
|
|
import java.util.UUID
|
|
|
|
fun copyUriToFile(context: Context, uri: Uri): File? {
|
|
return try {
|
|
val inputStream = context.contentResolver.openInputStream(uri)
|
|
val file = File(context.cacheDir, "${UUID.randomUUID()}.tmp")
|
|
val outputStream = FileOutputStream(file)
|
|
inputStream?.use { input ->
|
|
outputStream.use { output ->
|
|
input.copyTo(output)
|
|
}
|
|
}
|
|
file
|
|
} catch (e: Exception) {
|
|
null
|
|
}
|
|
}
|