根据华为云obs文件存储连接下载文件

本文介绍了如何使用Java从华为云OBS文件存储的URL获取文件内容,通过HttpURLConnection实现连接并设置超时,最终将byte数组转换为Base64编码格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

华为云obs文件存储返回路径:
https://xxx/桶名/文件名?AccessKeyId=xxx&Policy=xxxSignature=xxx
三个参数不多介绍,具体可参考官方文档

废话不多说,直接上代码
```java
//判断是否包含https请求
private static final String HTTPS = "https";
//超时时间
private static final int TIMEOUT = 180000;

public static byte[] getUrlImg(String remoteFilePath) throws Exception {
		//remoteFilePath返回的链接
        if (!remoteFilePath.contains(HTTPS)) {
            URL urlfile;
            HttpURLConnection httpUrl;
            InputStream inputStream;
            try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
                urlfile = new URL(remoteFilePath);
                httpUrl = (HttpURLConnection) urlfile.openConnection();
                httpUrl.connect();
                httpUrl.setConnectTimeout(TIMEOUT);
                httpUrl.setReadTimeout(TIMEOUT);
                inputStream = httpUrl.getInputStream();
                int len = 2048;
                byte[] b = new byte[len];
                int num = inputStream.read(b);
                while (num != -1) {
                    baos.write(b, 0, num);
                    num = inputStream.read(b);
                }
                baos.flush();
                httpUrl.disconnect();
                return baos.toByteArray();
            }
        }
    }
上述代码最后返回的是一个byte数组,可根据自己的需求修改返回值,例如想要返回base64:

```java
Base64Utils.encodeToString(返回值)即可得到文件的base64
### 华为云OBS物联网文件上传方法 要在华为云OBS(Object Storage Service)上实现物联网设备的文件上传功能,可以通过以下方式完成: #### 1. **配置物联网平台** 首先需要通过华为云IoTDA(Internet of Things Device Access)服务来接入物联网设备并设置数据转发至OBS。具体操作可以参考API文档说明[^1]。 为了使设备能够成功将数据发送到云端,需确保已创建好对应的设备模型以及定义属性字段。这些属性会作为后续传输过程中携带的有效载荷部分被解析处理后再保存成指定格式存入目标存储位置中去。 #### 2. **启用数据转储至OBS** 接着,在完成了初步连接之后,则要开启从消息队列或者规则引擎向对象储存转移的功能选项卡页面里找到关联参数项进行勾选激活即可生效此机制动作流程图如下所示: 当满足一定条件触发事件发生时(比如定时器到期),系统自动把接收到的消息体按照预设路径写入远程服务器上的特定目录下形成独立个体存在形式呈现出来供以后检索分析使用等等用途广泛适用性强等特点深受广大开发者喜爱追捧不已呢! 另外值得注意的是,如果希望进一步优化整个架构设计思路的话还可以考虑引入中间件技术手段来做缓冲池暂存区等功能扩展增强用户体验感哦~ #### 3. **验证上传结果** 最后一步就是确认所有环节都已经正确无误地搭建完毕后就可以正式投入使用啦!此时只需要简单几步就能轻松搞定一切事务性工作内容咯~比如说先登录进入官方提供的在线管理后台界面地址链接处[^2],再从中挑选出感兴趣的项目工程名称点击进去查看详情列表展示区域里面有没有刚刚才传上去的新鲜出炉成果作品呀? 以下是基于Python语言编写的一个简易版示例脚本用于演示如何调用相关接口函数库完成基本任务需求目的: ```python import requests from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkiotda.v5.client import IotDaClient from huaweicloudsdkiotda.v5.model.update_properties_request import UpdatePropertiesRequest def upload_file_to_obs(device_id, property_value): ak = 'your_access_key' sk = 'your_secret_key' region = 'cn-north-4' # 替换为您实际使用的region credentials = BasicCredentials(ak, sk) client = IotDaClient().new_builder() \ .with_credentials(credentials) \ .with_region(region).build() request_param = { "service_id": "default", "properties": {"fileContent": property_value} } req = UpdatePropertiesRequest(device_id=device_id,body=request_param) response = client.update_properties(req) if __name__ == "__main__": device_identifier = "testDevice001" file_data = b"Sample binary data to be uploaded." upload_file_to_obs(device_identifier, file_data.decode('utf-8')) ``` 以上代码片段展示了怎样利用SDK封装好的类方法快速便捷地达成预期效果目标的同时还兼顾到了安全性方面的考量因素在里面哟! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scdn_wyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值