Android R如何将图片到上传OSS
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关Android R如何将图片到上传OSS,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先先初始化oss对象
千家信息网最后更新 2025年12月02日Android R如何将图片到上传OSS
这篇文章将为大家详细讲解有关Android R如何将图片到上传OSS,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
首先先初始化oss对象
// ACCESS_ID,ACCESS_KEY是在[阿里云](https://l.gushuji.site/aliyun)申请的 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("", "", "");// 文件元信息的设置是可选的// 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("", "", "");// 异步上传时可以设置进度回调put.setProgressCallback(new OSSProgressCallback() { @Override public void onProgress(PutObjectRequest request, long currentSize, long totalSize) { Log.d("PutObject", "currentSize: " + currentSize + " totalSize: " + totalSize); }});OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback() { @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 R如何将图片到上传OSS就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
图片
文件
最大
任务
内容
后台
平台
文章
方法
是在
更多
知识
篇文章
网络
阿里
同步
服务
不错
成功
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术对幼儿教育的影响
下面不属于软件开发技术的是
网络安全与支付系统教学
mysql导出完整数据库
卫宁互联网科技有限公司地址
万方数据库如何查找电子期刊
紫天科技软件开发
利用数据库创建学生表视频
alv数据库han
绝地大逃杀服务器架设
金手指数据库编辑器
网络安全大赛收入
默多网络技术工作室
橙云服务器异常
查询课程的数据库语句
神马电视网络安全吗
网络安全审计 课件
没有密码怎么进入别人服务器
wmwave虚拟服务器安全吗
大连云创互联网络科技有限公司
数据库中提取的秒数不对
保定数据库安全
steam绿洲服务器维修
汽车技术 车载网络技术
nacos怎么配置数据库
全球华人网络安全技能大会
写入数据库
网络技术科岗位设置
鲁山im即时通讯软件开发
新罗网络安全进校园