我正在尝试通过Android中的WebView上传图片。问题是缺少内容类型。看起来它在Android 4.4.4中是一个已知的issue。在这种情况下可以做些什么?我在类似的问题上找到了这个answer,但我无法弄清楚如何实现这个解决方案。我可以访问服务器端。
感谢。
答案 0 :(得分:0)
在你找到的答案中,他们打电话给
startActivityForResult( Intent.createChooser( i, "File Chooser" ), MainActivity.FILECHOOSER_RESULTCODE)
什么意思,你应该在这个方法中得到结果
protected void onActivityResult( int requestCode, int resultCode, Intent data )
{
if(requestCode == MainActivity.FILECHOOSER_RESULTCODE)
{
if(resultCode == RESULT_OK)
// TODO: Check Results of data-intent
}
}
在此方法中,您可以处理文件选择器的结果并自行上传(例如使用filters
或URLConnection)。
更新2016-10-19
这是一个存储ValueCallback的示例,并将ChooserIntent的结果传递回回调。 我没有尝试这个例子,但我认为它应该从webview中触发一个自己的上传方法。
private ValueCallback<Uri> mUploadMessage;
private Uri mCapturedImageURI = null;
protected void onActivityResult( int requestCode, int resultCode, Intent data )
{
if(requestCode == MainActivity.FILECHOOSER_RESULTCODE)
{
if(resultCode == RESULT_OK) {
result = intent == null ? mCapturedImageURI : intent.getData();
mUploadMessage.onReceiveValue(result);
}
}
}
onReceiveValue(结果);
来源: ApacheHttpClient