1,pom
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.0</version>
</dependency>
2,代码
String endpoint = Global.getConfig("aliyun.oss.endpoint");
String accessId = Global.getConfig("aliyun.oss.accessKeyId");
String accessKey = Global.getConfig("aliyun.oss.accessKeySecret");
String bucket = Global.getConfig("aliyun.oss.bucketName");
String dir = "sit/feedback";
String host = "http://" + bucket + "." + endpoint;
OSSClient client = new OSSClient(endpoint, accessId, accessKey);
Calendar calendar = Calendar.getInstance();
Date date = DateUtils.nowDate();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, 1);
Date expiration = calendar.getTime();
PolicyConditions policyConds = new PolicyConditions();
policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);
String postPolicy = client.generatePostPolicy(expiration, policyConds);
byte[] binaryData = postPolicy.getBytes("utf-8");
String encodedPolicy = BinaryUtil.toBase64String(binaryData);
String postSignature = client.calculatePostSignature(postPolicy);
//json是个map,返回前端
json.put("accessid", accessId);
json.put("policy", encodedPolicy);
json.put("signature", postSignature);
json.put("dir", dir);
json.put("host", host);
json.put("expire", String.valueOf(expiration.getTime() / 1000));