Spring Boot实战之文件上传存入Azure Storage
本章介绍,文件上传及文件上传至Azure的流程,以上传图片为例
1、本章与Azure的交互使用到Azure storage相关的依赖库,配置pom.xml,下载依赖库
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-storage</artifactId>
<version>4.0.0</version>
</dependency>
2、添加azure storage的配置信息类StorageConfig,用来配置连接信息
package com.xiaofangtech.sunt.storage;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "azureblob", locations = "classpath:azureblob.properties")
public class StorageConfig {
private String defaultEndpointsProtocol;
private String blobEndpoint;
private String queueEndpoint;
private String tableEndpoint;
private String accountName;
private String accountKey;
public String getDefaultEndpointsProtocol() {
return defaultEndpointsProtocol;
}
public void setDefaultEndpointsProtocol(String defaultEndpointsProtocol) {
this.defaultEndpointsProtocol = defaultEndpointsProtocol;
}
public String getBlobEndpoint() {
return blobEndpoint;
}
public void setBlobEndpoint(String blobEndpoint) {
this.blobEndpoint = blobEndpoint;
}
public String getQueueEndpoint() {
return queueEndpoint;
}
public void setQueueEndpoint(String queueEndpoint) {
this.queueEndpoint = queueEndpoint;
}
public String getTableEndpoint() {
return tableEndpoint;
}
public void setTableEndpoint(String tableEndpoint) {
this.tableEndpoint = tableEndpoint;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getAccountKey() {
return accountKey;
}
public void setAccountKey(String accountKey) {
this.accountKey = accountKey;
}
}
azureblob.defaultEndpointsProtocol=http
azureblob.blobEndpoint=http://teststorage.blob.core.chinacloudapi.cn/
azureblob.queueEndpoint=http://teststorage.queue.core.chinacloudapi.cn/
azureblob.tableEndpoint=http://teststorage.table.core.chinacloudapi.cn/
azureblob.accountName=teststorage
azureblob.accountKey=accountkey
4、新建帮助类,BlobHelper.java 用来获取或创建Blob所在容器
package com.xiaofangtech.sunt.storage;
import com.microsoft.azure.storage.CloudStorageAccount;
import com.microsoft.azure.storage.blob.BlobContainerPermissions;
import com.microsoft.azure.storage.blob.BlobContainerPublicAccessType;
import com.microsoft.azure.storage.blob.CloudBlobClient;
import com.microsoft.azure.storage.blob.Clou