добавить ниже зависимости в build.gradle (App):
implementation 'com.droidninja:filepicker:2.2.0'
установить список щелчков виджетов и создать массив imgbase64 из файла:
private var imageBase64 = ArrayList<File>()
imgVideo.setOnClickListener {
val intent1 = Intent(this, VideoPickActivity::class.java)
intent1.putExtra(ImagePickActivity.IS_NEED_CAMERA, false)
intent1.putExtra(Constant.MAX_NUMBER, 1)
intent1.putExtra(BaseActivity.IS_NEED_FOLDER_LIST, false)
startActivityForResult(intent1, Constant.REQUEST_CODE_PICK_VIDEO)
}
ovverride onActivityResult (),
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (data != null) {
try {
imageBase64.clear()
when (requestCode) {
AppConstants.REQUEST_CODE_PICK_VIDEO -> {
if (resultCode == Activity.RESULT_OK && data != null) {
val list = data.getParcelableArrayListExtra<VideoFile>(AppConstants.RESULT_PICK_VIDEO)
for (item in list) {
imageBase64.add(File(item.path))
FILE_TYPE = 2
}
}
}
}
} catch (e: IOException) {
e.printStackTrace()
}
}
}
создание массива surveyImagesParts из нескольких частей,
val surveyImagesParts: Array<MultipartBody.Part?> = arrayOfNulls(imageBase64.size)
for (index in imageBase64.indices) {
surveyImagesParts[index] = MultipartBody.Part.createFormData(
"message", imageBase64[index].name,
RequestBody.create(MediaType.parse("*/*"), imageBase64[index])
)
}
передача surveyImagesParts в вызове API ... надеюсь, это поможет вам ...!