摘要:
本文介绍GitClub小程序后端的服务器文件的迁移以及更新图片上传至阿里云OSS存储服务器,如果不了解GitClub小程序的朋友可以看下我的上篇文章关于Android开源库分享平台,(GitClub)微信小程序的开发体验,在此特别纠正下,当前版本暂时只有Android的开源库分享,后续会增加Java、iOS、前端等不同语言的分类,感兴趣的可以去关注下我们的小程序,源码地址:GitClub。铺垫结束,请使用扫描这个二维码登陆GitClub小程序参观。
一、导入依赖包,在pox.xml中加入
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.3</version>
</dependency>
二、配置OSS的参数,创建类OSSConfig
1、添加oss.properties配置文件,内容如下:
#阿里云OSS配置
#原服务器地址
bucketUrl = https://bucketName.oss-cn-shenzhen.aliyuncs.com
#自定义解析后服务器地址
baseUrl = https://xxx.502tech.com
#可以选择其他的地址
endpoint = https://oss-cn-qingdao.aliyuncs.com
#已经在控制台创建的bucket
bucketName = bucketName
#你上传文件的保存路径,如果bucket中不存在则创建(其实原理并不是文件夹,只是文件名,详情请先阅读官方文档)
picLocation = GitClub/image/
#相应的id和key值,请填写你具体的值,这里不方便展示我自己的。
accessKeyId = 阿里云OSS的accessKeyId
accessKeySecret = 阿里云OSS的accessKeySecret
2、创建类OSSConfig
public class OSSConfig {
private String bucketUrl; //原图片服务器地址
private String baseUrl; //自定义解析后的图片服务器地址
private String endpoint; //连接区域地址
private String accessKeyId; //连接keyId
private String accessKeySecret; //连接秘钥
private String bucketName; //需要存储的bucketName
private String picLocation; //图片保存路径
public OSSConfig() {
try {
this.bucketUrl = SystemConfig.getConfigResource("bucketUrl");
this.baseUrl = SystemConfig.getConfigResource("baseUrl");
this.endpoint = SystemConfig.getConfigResource("endpoint");
this.bucketName = SystemConfig.getConfigResource("bucketName");
this.picLocation = SystemConfig.getConfigResource("picLocation");
this.accessKeyId = SystemConfig.getConfigResource("accessKeyId");
this.accessKeySecret = SystemConfig.getConfigResource("accessKeySecret");
} catch (IOException e) {
e.printStackTrace();
}
}
...
省略get、set方法
三、创建OSS工具类OSSUploadUtil
private static OSSConfig config = null;
/**
*
* @MethodName: uploadFile
* @Description: OSS单文件上传
* @param file
* @param fileType 文件后缀
* @return String 文件地址
*/
public static String uploadFile(File file,String fileType){
config = config == null ? new OSSConfig():config;
//通过UUID生成文件名
String fileName = config.getPicLocation()
+UUID.randomUUID().toString().toUpperCase()