Android 上传图片到阿里云 OSS

Android开发:调用摄像头拍摄照片后上传到阿里云OSS(对象存储) 在日常生活中,最平常不过的就是拍照发朋友圈了,那么这个功能是如何实现的呢? 在QQ、微信、微博等社交软件都是给出一个按钮,点击这个按钮可以获取手机的拍摄权限。在通过拍摄之后,将所拍摄的照片再上传到服务器端。在阿里云的VOD模块中有关于使用AndroidSDK的使用,使用并开发在客户端直接上传照片到阿里云 如图所示: 根据上述的流程包括导入SDK 获取授权 上传可以实现上传的功能 然而本文开发一个Spring Boot的接口 Android手机端通过OKhttp发送请求到这个服务端接口后,由服务端进行文件上 阅读详情

本篇博客主要介绍的是将本地图片上传到服务器的方法技巧

首先附上阿里云oss官网SDK介绍:点击打开链接

附上官方推荐的demo 点击打开链接

在app的build中配置oss :compile 'com.aliyun.dpa:oss-android-sdk:+'

技术相对简单,主要是将这些技术结合起来的例子并不多

首先先初始化oss对象

        // ACCESS_ID,ACCESS_KEY是在阿里云申请的
        OSSCredentialProvider credentialProvider = new OSSPlainTextAKSKCredentialProvider(ACCESS_ID, ACCESS_KEY);
        ClientConfiguration conf = new ClientConfiguration();
        conf.setConnectionTimeout(15 * 1000); // 连接超时,默认15秒
        conf.setSocketTimeout(15 * 1000); // socket超时,默认15秒
        conf.setMaxConcurrentRequest(8); // 最大并发请求数,默认5个
        conf.setMaxErrorRetry(2); // 失败后最大重试次数,默认2次

        // oss为全局变量,OSS_ENDPOINT是一个OSS区域地址
        oss = new OSSClient(getApplicationContext(), OSS_ENDPOINT, credentialProvider, conf);

oss上传图片分为同步和异步 

同步的方法

// 构造上传请求
PutObjectRequest put = new PutObjectRequest("<bucketName>", "<objectKey>", "<uploadFilePath>");
// 文件元信息的设置是可选的
// ObjectMetadata metadata = new ObjectMetadata();
// metadata.setContentType("application/octet-stream"); // 设置content-type
// metadata.setContentMD5(BinaryUtil.calculateBase64Md5(uploadFilePath)); // 校验MD5
// put.setMetadata(metadata);
try {
    PutObjectResult putResult = oss.putObject(put);
    Log.d("PutObject", "UploadSuccess");
    Log.d("ETag", putResult.getETag());
    Log.d("RequestId", putResult.getRequestId());
} catch (ClientException e) {
    // 本地异常如网络异常等
    e.printStackTrace();
} catch (ServiceException e) {
    // 服务异常
    Log.e("RequestId", e.getRequestId());
    Log.e("ErrorCode", e.getErrorCode());
    Log.e("HostId", e.getHostId());
    Log.e("RawMessage", e.getRawMessage());
}

此处这个bucketName是在阿里云平台上配置的 用来储存文件 可以设置私有公有等属性 

objectKey为文件的名字 用来从平台上查询图片

FilePath为所选文件的uri路径


异步上传的方法

// 构造上传请求
PutObjectRequest put = new PutObjectRequest("<bucketName>", "<objectKey>", "<uploadFilePath>");
// 异步上传时可以设置进度回调
put.setProgressCallback(new OSSProgressCallback<PutObjectRequest>() {
    @Override
    public void onProgress(PutObjectRequest request, long currentSize, long totalSize) {
        Log.d("PutObject", "currentSize: " + currentSize + " totalSize: " + totalSize);
    }
});
OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() {
    @Override
    public void onSuccess(PutObjectRequest request, PutObjectResult result) {
        Log.d("PutObject", "UploadSuccess");
        Log.d("ETag", result.getETag());
        Log.d("RequestId", result.getRequestId());
    }
    @Override
    public void onFailure(PutObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
        // 请求异常
        if (clientExcepion != null) {
            // 本地异常如网络异常等
            clientExcepion.printStackTrace();
        }
        if (serviceException != null) {
            // 服务异常
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});
// task.cancel(); // 可以取消任务
// task.waitUntilFinished(); // 可以等待任务完成

一般上传成功时候 客户端需要把文件的objectkey传给后台 后台通过拼接然后把图片的url返回给我们

Android阿里云OSS鉴权模式(STS)上传图片文件 这篇讲述下Android通过阿里云OSS上传文件,使用鉴权模式,废话不多说,直接上步骤 1.添加所需依赖 implementation 'com.aliyun.dpa:oss-android-sdk:+' implementation "com.squareup.okhttp3:okhttp:3.9.0" 2.添加权限 &lt;uses-permission android:name... 阅读详情

相关推荐

android 集成 OSS 上传图片

android 集成OSS 上传图片

Android端使用阿里OSS上传

最近一直没更新博客,因为都写到了公司的wiki上,我觉得博客是有必要的,记录一下自己成长过程中的一点一滴吧。 这节课,说一下阿里的OSS,可能会有一点坑。 还有我自己封装的一个比较low的工具类。 我们选择了将文件直接上传到OSS,然后拿到文件的url,将url交给服务器保存。这样一来就大大减少了服务器的压力...

weixin_33725239的博客 2864

行人重识别(ReID)基础知识入门

行人重识别(Person re-identification)主要目的是针对出现在监控摄像头内的某个目标行人,准确快速地从监控网络其他摄像头内的大量行人中将这个目标行人标识出来。如图所示一个区域有多个摄像头拍摄视频序列,ReID的要求对一个摄像头下感兴趣的行人,检索到该行人在其他摄像头下出现的所有图片。

用于记录 1万+

Android之上传图片到OSS

很多公司没有太多图片存储需求的时候,很多都是前端把图片通过接口传给后台,但有大量图片需求的时候公司就会购买阿里云进行图片存储,有的是后台去上传OSS,为了保险起见也有前端去上传的,可单张和多张上传,今天就谈一下Android上传OSS的一些步骤。关于拍照以及相册选取我上一篇文章有讲,自己去看。 2.初始化 我这里是封装好的一个工具类: 3.获取OSS相关参数 相关参数由后台反给你,拿到参数进行赋值,这里我封装了一个类。 4.上传 三、OssUtil工具类 四、OssAddBean 五、OSSCallb

叶已初秋的博客 7058

C#:WPF格式转Winform格式

WPF格式转Winform格式

Hello C++ 1295

ABB机器人ModbusTCP通信实战:如何高效传输Float数据到PLC(附完整代码)

本文详细介绍了ABB机器人通过ModbusTCP协议高效传输Float数据到PLC的实战方法,包括底层逻辑解析、RAPID程序架构设计、PLC服务器配置及现场调试技巧。特别针对浮点数据传输中的字节顺序问题提供了解决方案,并附有完整代码示例,助力工程师快速实现工业自动化设备间的高精度数据交互。

weixin_30836759的博客 483

Android开发:打开相册选择照片后上传到阿里云OSS(对象存储)

Android开发:打开相册选择照片后上传到阿里云OSS(对象存储)

qq_43646281的博客 2109

VMware共享磁盘配置实战:从零搭建多机共享存储环境

本文详细介绍了在VMware环境中从零开始配置共享磁盘的完整实战流程。通过创建共享磁盘、挂载至多台虚拟机并修改.vmx配置文件等关键步骤,帮助用户搭建可用于数据库集群(如Oracle RAC)测试的多机共享存储环境,并提供了核心参数设置与常见问题排查指南。

weixin_29284201的博客 492

Android摄像头相册使用+上传照片至服务器(上篇)

这篇教程主要介绍如何使用摄像头还有相册,还介绍如何将获取到的照片上传至服务器保存(这里主要是用到了阿里云的对象存储OSS服务) 一、前端创建Android项目 1、布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:l

hequnwang10的博客 4004

ESP32-BLE学习1-建立简单的server

start 学习之前,我想尝试使用ESP32的demo建立一个简单的server与手机接进行最基本的数据通信。 这里有BLE的简单讲解BLE资料 因为BLE的连接是具有主从机特性的,就像SPI,USB一些请求只能由主机端发起,连接也需要主机端发起。所以手机要想连上ESP32,就得将ESP32设置为从机模式。 从资料上可以看到,从机端通过Notify通知主机,所以从机就是GATT Server。 在进行ESP32 的demo学习之前,得大体看下ESP32的蓝牙组成,ESP32支持经典蓝牙和低功耗蓝牙4.2,

Spark的博客 1842

ABAP CDS HAVING 全解析:聚合之后的精准过滤、最佳实践与可运行示例

摘要: 本文针对具备ABAP与CDS基础的开发者,详解HAVING在ABAP CDS中的核心用法。HAVING专用于过滤GROUP BY后的聚合结果(如SUM、COUNT),与WHERE的分工明确:前者处理聚合值,后者过滤原始记录。通过销售额阈值、质量分析、财务对账三类典型场景,结合性能优化建议(如优先使用WHERE索引过滤),说明实际应用。文中提供经典CDS View与View Entity两种实现代码,并附Open SQL消费示例,帮助开发者快速落地。常见误区(如聚合条件误写至WHERE)与规避方法亦被

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 221

【安卓开发之图片分享应用5:上传图片到服务器】

主要是实现Android 上传图片到服务器这一功能,我封装了一个工具类,只要将调用该工具了并传入文件地址,即可上传成功。可实现多图片上传。

weixin_52785320的博客 3320

把 ABAP 接到外部世界的几条路, 从 Web Service 到 RFC、BAPI 与 IDoc 的完整理解

摘要: ABAP 的连接能力是其长期成为企业核心的关键,不仅支持通用协议(HTTP、SOAP、XML),还保留了 SAP 特有的技术(RFC、BAPI、IDoc)。Web Service 是跨系统通信的主轴,依赖 SOAP/WSDL 实现契约化协作,而 Enterprise Service 更强调业务语义的复用与治理。经典技术如 RFC 和 BAPI 因高效稳定仍广泛使用,尤其适合紧耦合场景。ABAP 通过分层工具箱(如代理生成、服务注册)实现灵活集成,平衡新旧技术,满足多样化的企业连接需求。 (字数:15

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 139

android 上传图片到阿里云oss

1.引入包 //引入阿里云oss包 implementation 'com.aliyun.dpa:oss-android-sdk:+' implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.squareup.okio:okio:1.9.0' implementati...

杰森丶郭达斯坦森的博客 2640

Transformer实战(30)——Transformer注意力机制可视化

在本节中,我们讨论了人工智能面临的最重要问题之一:可解释人工智能 (explainable artificial intelligence, XAI)。随着语言模型的不断发展,可解释性成为一个严峻的问题。本节中,我们从 Transformer 的角度出发,研究了 Transformer 架构中的自注意力机制,尝试通过各种可视化工具理解这些机制的内部过程。

盼小辉丶的博客 2652

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android从相册中选取图片上传到阿里云OSS

开发软件中,boss突然提出想在软件中添加一个多张照片上传的功能,作为菜鸟的我,琢磨了两天,才弄出来,今天特地贴出来。本篇博客主要介绍的是将本地图片上传到服务器的方法技巧。主要技术点是: 一、运用第三方可以从相册中选取多张图片。 二、将图片进行压缩处理。 三、上传到阿里云OSS。技术相对简单,主要是将这些技术结合起来的例子并不多,而且阿里云OSS的资料也不是很丰富,开发文档也是很简略,因此趁此

梦近在咫尺的博客 2万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android oss 多张图片上传

我整理的一些关于【上传,图片上传,上传文件】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/bLN8S1Android OSS 多张图片上传实战指南 在这个指南中,我们将学习如何在 Android 应用中实现将多张图片上传到阿里云 OSS (Object Storage Se...

weixin_40468738的博客 278

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android图片上传到阿里云OSS小案例

参考: 官方文档和SDK:API&amp;amp;amp;amp;amp;amp;SDK 一、在阿里云开通OOS 二、集成 三、测试

Jasmyn飞飞飞的博客 8934

2020最新阿里云OSS存储配置 Android上传图片

注册阿里云账号(略) 设置AccessKey管理 创建用户 创建成功后建议下载.cvs文件保存AccessKey等信息,便于日后编程访问 RAM访问控制授权 此处输入3中创建的用户名 授予OSS相关权限,点击确定 创建OSS对象存储Bucket 进入OSS控制台 选择Bucket列表并创建Bucket 输入Bucket名称 设置为公共读其余默认 Bucket授权 进入创建好的Bucket 权限管理-Bucket授权策略-设置 部分测试代码 //..

weixin_44145648的博客 791

Android 图片裁剪并批量上传视频图片到阿里云OSS

===============分割线=========================CutImageMoreSizeActivity 自定义多尺寸裁剪图片。gv_filter_image.xml:(小图标自己上千图网找)这里就已经完成了正常的批量选择图片并上传了。OssService :(OSS上传服务)GlideEngine:(加载引擎)

RandowWrite 1217

Android上传阿里云oss图片或者文件Util

Android上传oss

weixin_44285813的博客 3566

阿里云OSS 上传文件

阿里云后台管理、API 集成教程、Key/ 域名的查询 1、查看上传的文件在哪? a 、百度阿里云,进入官网。然后进入管理控制台 b、左侧菜单栏,进入对象存储 OSS  c、进入 Bucket 管理页面,点击创建的bucket 名称 d、进入bucket 管理界面,点击左侧菜单 bucket属性 菜单查看bucket 域名 ob

legend12300的专栏 2万+

Android Oss 上传图片的使用

code小生,一个 Android 领域技术分享平台作者:喵主子的阳光链接:https://www.jianshu.com/p/e6da7c5841cf声明:本文是 喵主子的阳光 原创,转发等请联系原作者授权。前言 前一阵项目中的上传图片改为上传到阿里上,记录一下实现的过程,方便以后查看。参考资料:官方文档https://link.jianshu.com/?t=https%3A%2F%2Fhelp

code小生 3577
上一篇: 格力红外线遥控器
下一篇: 解决androidstudio安装apk到手机时Error while Launching activity问题
帅气程序员small
博客等级 码龄9年 125粉丝 50原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值