版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaoruda/article/details/87451455
在实际中,如果我们需要对文件进行存储时该如何处理呢?由于我们对应用是多实例对,所以不能将其存储在应用所在服务器中。这时,我们可以依赖于Azure为我们提供对Blob来存储。下面我们来看看如何来进行文件对上传和下载。
创建存储帐号
其中存储账户名称只能是小写字母和数字,创建成功后帐号对访问地址为:
https://myblob2.blob.core.chinacloudapi.cn
生成共享访问签名
访问存储帐号的方式有多种,这里使用共享访问签名。
生成的SAS在下一步会使用。
上传
- 添加依赖
工程是基于Grade的Java工程,所以在dependencies中添加:
compile 'com.microsoft.azure:azure-storage:4.4.0'
- 上传文件
StorageCredentials credentials = new StorageCredentialsSharedAccessSignature(sasToken);
CloudBlobClient blobClient = new CloudBlobClient(URI.create(accountName),credentials);
CloudBlobContainer containerReference = blobClient.getContainerReference(containerName);
containerReference.createIfNotExists();
CloudBlockBlob blockBlobReference = containerReference.getBlockBlobReference(blockName);
blockBlobReference.uploadText("hello world");
大致步骤为:
- 使用accountName和sas创建blobClient
- 获取容器组,如果不存在则创建。容器组主要是用来对blob中对文件进行分类
- 将文件上传到blob中。这里使用对是uploadText将字符串上传到文件中,CloudBlockBlob中提供了多种上传对方式,也提供了上传和下载对方法。