发表于: 2020-08-08 23:13:22
1 2238
今天完成的事情:图片存储的调用,spring配置
明天计划的事情:继续做任务七
遇到的问题:思路有点乱
收获:
图片存储的API调用
public class OssPicture {
private String accessKeyId;
private String accessKeySecret;
private String endpoint;// Endpoint以杭州为例,其它Region请按实际情况填写。
/**
* 创建存储空间
* @param bucketName 存储空间名称
*/
public void putBucket(String bucketName){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 创建存储空间。
ossClient.createBucket(bucketName);
// 关闭OSSClient。
ossClient.shutdown();
}
/**
* 上传文件
* @param bucketName 存储空间名称
* @param objectName 上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
*/
public void putObject(String bucketName,String objectName){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
String content = "Hello OSS";
ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(content.getBytes()));
// 关闭OSSClient。
ossClient.shutdown();
}
public String getEndpoint() {
return endpoint;
}
/**
* @param bucketName 存储空间名称
* @param objectName 从OSS下载文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
*/
public void getObject(String bucketName,String objectName){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 调用ossClient.getObject返回一个OSSObject实例,该实例包含文件内容及文件元信息。
OSSObject ossObject = ossClient.getObject(bucketName, objectName);
// 调用ossObject.getObjectContent获取文件输入流,可读取此输入流获取其内容。
InputStream content = ossObject.getObjectContent();
if (content != null) {
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
while (true) {
String line = null;
try {
line = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if (line == null) break;
System.out.println("\n" + line);
}
// 数据读取完成后,获取的流必须关闭,否则会造成连接泄漏,导致请求无连接可用,程序无法正常工作。
try {
content.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 关闭OSSClient。
ossClient.shutdown();
}
Spring配置管理密码等信息
运用的是set属性注入
<bean id="sendSms" class="com.hyx.util.aliyun.SendSms">
<property name="accessKeyId" value="${aliyun.accessKeyId}"/>
<property name="accessKeySecret" value="${aliyun.accessKeySecret}"/>
<property name="templateCode" value="${aliyun.signName}"/>
<property name="signName" value="${aliyun.templateCode}"/>
<property name="product" value="${aliyun.product}"/>
<property name="domain" value="${aliyun.domain}"/>
</bean>
<bean id="sendMail" class="com.hyx.util.aliyun.SendMail">
<property name="RegionId" value="${aliyun.RegionId}"/>
<property name="AccountName" value="${aliyun.AccountName}"/>
<property name="AddressType" value="${aliyun.AddressType}"/>
<property name="ReplyToAddress" value="${aliyun.ReplyToAddress}"/>
<property name="Subject" value="${aliyun.Subject}"/>
</bean>
<bean id="ossPicture" class="com.hyx.util.aliyun.OssPicture">
<property name="accessKeyId" value="${aliyun.accessKeyId}"/>
<property name="accessKeySecret" value="${aliyun.accessKeySecret}"/>
<property name="endpoint" value="${aliyun.endpoint}"></property>
</bean>
aliyun.accessKeyId=accessKeyId
aliyun.accessKeySecret=accessKeySecret
aliyun.templateCode=SMS_196657042
aliyun.signName="技能树任务七专用"
aliyun.product=Dysmsapi
aliyun.domain=dysmsapi.aliyuncs.com
aliyun.RegionId=cn-hangzhou
aliyun.AccountName=www.hyx.com
aliyun.AddressType=0
aliyun.ReplyToAddress=false
aliyun.Subject=wwwwwwwwwww
aliyun.endpoint=https://oss-cn-hangzhou.aliyuncs.com
评论