코틀린으루 개발했구요 웹뷰를 만들었는데
이미지업로드를 작업하던중 이미지가 하나밖에 선택이 안되고 하나만 올라갑니다
멀티로 이미지를 선택해서 한번에 올릴려는데 잘 안되서 조언좀 부탁드립니다.
override fun onShowFileChooser(
webView: WebView,
filePathCallback: ValueCallback<Array<Uri>>,
fileChooserParams: FileChooserParams
): Boolean {
mFilePathCallback = filePathCallback
val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Log.d("test", "version lollipop!");
fileChooserParams.createIntent()
} else {
TODO("VERSION.SDK_INT < LOLLIPOP")
Intent(Intent.ACTION_GET_CONTENT);
}
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(Intent.createChooser(intent, "Image Browser"), FILECHOOSER_RESULTCODE)
return true
}
파일 선택관련 소스입니다
intent 부분에
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
로 멀티로 했는데 그냥 클릭시는 안되고 롱클릭시 여러개의 이미지가 선택은 됩니다
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == FILECHOOSER_RESULTCODE) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mFilePathCallback?.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, data))
}
mFilePathCallback = null
}
}
결과는 이렇게 받아왔는데 정상적으로 1개의 이미지는 업로드가 되는데 멀티로는 롱클릭으로 선택은 되는데 저장시 이미지가 불러오지 않습니다....