安卓网络通信之 HttpURLConnection 文件上传
文件上传分为二步,第一步选择文件
代码思路是:
chooseFile()
方法用于创建一个Intent对象,并设置Intent的Action为ACTION_GET_CONTENT,这表示获取内容,即选择文件。然后通过setType方法设置文件类型为"/",表示可以选择任意类型的文件。addCategory方法设置打开文件的方式为可打开的文件,确保只显示可以选择的文件。最后调用startActivityForResult方法启动选择文件的界面,并传入请求码1。
onActivityResult()
方法是一个回调方法,在选择文件的界面结束后被调用。根据传入的请求码requestCode,判断是哪个请求返回了结果。在这段代码中,只处理请求码为1的情况,即选择文件的请求。在该情况下,判断结果码resultCode是否为RESULT_OK,表示文件选择成功。如果选择成功,则从返回的Intent对象data中获取选中文件的Uri,通过调用 uri.getPath()
方法获取文件路径,并将路径打印到日志中。
这串关于文件选择的代码是什么意思?private void chooseFile() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(intent, 1); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case 1: if (resultCode == RESULT_OK) { Uri uri = data.getData(); String filePath = uri.getPath(); Log.d("test", "filePath: " + filePath); } break; default: super.onActivityResult(requestCode, resultCode, data); break; } }