java-8 - Azure 存储 Blob 容器 Vituval 文件夹图像在 JAVA 中下载
问题描述
我想从 Azure 存储 Blob 容器下载一个图像,它有一个虚拟文件夹,它包含图像,需要在 java 代码中下载该图像。
Asure 存储结构:
“Blob 容器”->“Blob 文件夹”->“Sample.jpg”
下面的代码是直接从容器下载图像,我需要从容器内的 fodler 下载图像
BlobServiceClient storageClient = new BlobServiceClientBuilder() .endpoint(endpoint.toString()) .credential(credential) .buildClient();
BlobContainerClient blobContainer = storageClient.getBlobContainerClient(azureContainer);
BlockBlobClient blobClient = blobContainer.getBlobClient(fileName).getBlockBlobClient();
blobClient.download(response.getOutputStream());
解决方案
首先要知道azure blob storage的存储其实是扁平的,它其实根本没有所谓的文件夹。
我的意思是您必须将路径和文件名组合为文件名传递方法。如果您列出当前容器中的文件,您会发现它们的格式类似于:
folder1/folder2/filename.suffix
推荐阅读
- postgresql - 抽象 PSQL 写查询
- sql - 为什么Max函数返回值为0的行
- neo4j - Neo4j 使用标签/节点/关系名称的关键字
- sql - 如何在 SQL Server 中从没有标签的 xml 文件中读取 xml 数据?
- javascript - 对象数组 - 在 Vue.js 生态系统中更新对象的正确方法
- algorithm - 变量 m 更新了多少次
- python - 如何向 NumPy 数组添加多个额外的列
- matlab - 为什么这个高斯函数会给出不一致的参数错误?
- sql - 选择语句,但表是子查询?
- google-bigquery - BigQuery:查询执行期间资源超出。无需任何昂贵的操作