文件上传分为二步,第一步选择文件

代码思路是:

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;
}
}

文件选择代码示例

安卓网络通信之 ​HttpURLConnection​ 文件上传的更多相关文章

  1. HttpURLConnection 文件上传限制

    一.      问题 最近在Android程序里上传向.Net服务器上传大文件的时候,发现了一个问题.当上传大文件的时候会爆出OutOfMemoryError,上传小文件则没有这种情况. 二.     ...

  2. Android学习笔记_13_网络通信之多个上传文件

    一.获取HTTP协议: 建立一个Web项目,建立一个如下所示的jsp界面,用IE捕获表单提交信息. <%@ page language="java" contentType= ...

  3. 安卓培训第五天---上传文件SD卡

    有关如何将文件上传到先说说SD卡: package com.example.lesson05_02; import java.io.File; import java.io.FileNotFoundE ...

  4. 基于cxf的app文件上传接口(带回显功能)

    1.SaleImpl @Override public String uploadPic(final List<Attachment> attachments) { return this ...

  5. 表单多文件上传样式美化 && 支持选中文件后删除相关项

    开发中会经常涉及到文件上传的需求,根据业务不同的需求,有不同的文件上传情况. 有简单的单文件上传,有多文件上传,因浏览器原生的文件上传样式及功能的支持度不算太高,很多时候我们会对样式进行美化,对功能进 ...

  6. HTTP POST请求报文格式分析与Java实现文件上传

    时间 2014-12-11 12:41:43  CSDN博客 原文  http://blog.csdn.net/bboyfeiyu/article/details/41863951 主题 HTTPHt ...

  7. h5 input file ajax实现文件上传

    <input type="file" accept="image/*" height="0" class="file_inp ...

  8. ANDROID使用MULTIPARTENTITYBUILDER实现类似FORM表单提交方式的文件上传

    最近在做 Android 端文件上传,要求采用 form 表单的方式提交,项目使用的 afinal 框架有文件上传功能,但是始终无法与php写的服务端对接上,无法上传成功.读源码发现:afinal 使 ...

  9. xUtils的文件下载与安装,xUtils的文件上传

    开篇报错注意:本教程是基于xUtils-2.6.14.jar版本实现的 由于studio中6.0以后安卓取消了httpclient,而xutils则基于httpclient开发的,所以现在无法使用,将 ...

  10. HttpClient文件上传下载

    1 HTTP HTTP 协议可能是如今 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序须要直接通过 HTTP 协议来訪问网络资源. 尽管在 JDK 的 java.net ...

随机推荐

  1. 二叉树的遍历(BFS、DFS)

    二叉树的遍历(BFS.DFS) 本文分为以下部分: BFS(广度优先搜索) DFS(深度优先搜索) 先序遍历 中序遍历 后序遍历 总结 BFS(广度优先搜索) 广度优先搜索[^1](英语:Breadt ...

  2. Android 13 - Media框架(10)- NuPlayer::Renderer

    关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节我们来了解 NuPlayer Renderer 是如何工作,avsync 机制是如何运行的. 1.创建 Renderer void NuPla ...

  3. .NET 6+Semantic Kernel快速接入OpenAI接口

    大家好,我是Edison. 今天我们快速地使用Semantic Kernel来集成OpenAI,使用20来行代码快速实现一个简单的AIGC应用. 这里,我就不多介绍Semantic Kernel了,包 ...

  4. 修复Apache Log4j 2 远程代码执行漏洞jar包(jdk8编译)

    Apache Log4j2是一个基于Java的日志记录工具.该工具重写了Log4j框架,并且引入了大量丰富的特性.该日志框架被大量用于业务系统开发,用来记录日志信息.大多数情况下,开发者可能会将用户输 ...

  5. css圆圈慢慢放大

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  6. ES5的继承语法

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  7. 项目管理--PMBOK 读书笔记(6)【项目进度管理】

    1.紧前关系绘图法(PDM): 2.三点估算(PERT): 最可能时间(Tm).最乐观时间(To)和 最悲观时间(Tp): 三角分布: 平均估算值=(Tm+To+Tp)/3: 3.估算方法对比及应用场 ...

  8. Spring Boot 整合 Fisco Bcos(部署、调用区块链合约)

    简介 在上一节,介绍了Spring Boot 整合 Fisco BCOS的最最基础的案例(SpringBoot成功连接Fisco BCOS,并访问其节点网络 --> 文章链接). 本节,咱们继续 ...

  9. 在WPF UWP WinUI中相同功能的用法的区别

    文件选择器 WPF:OpenFileDialog Microsoft.Win32.OpenFileDialog openFileDialog = new(); bool? result = openF ...

  10. python调用微信JS_SDK及使用redis缓存access_token 和jsapi_ticket

    from flask import Flask, make_response,request import json import string import hashlib import rando ...