Commit 34e69a8d by 涂亚平

oss

1 parent 7b7d4fd6
...@@ -231,6 +231,12 @@ ...@@ -231,6 +231,12 @@
<artifactId>ehcache</artifactId> <artifactId>ehcache</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>--> <!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-data-mongodb</artifactId>--> <!-- <artifactId>spring-boot-starter-data-mongodb</artifactId>-->
......
package com.subsidy.controller;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO;
import com.subsidy.vo.oss.GetSecretVO;
import com.subsidy.vo.oss.UploadFileVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@Api(tags = "oss")
@RestController
@RequestMapping("/oss")
public class OssController {
public static final String keyId = "LTAI5tPAH7P7WQVeowo517BE";
public static final String secret = "0ueqhIfdAZyw5lWlBVSLpAxTtx37RY";
@Value("${spring.profiles.active}")
private String env;
@PostMapping("getSecret")
@ApiOperation("oss秘钥")
public ResponseVO getSecret(){
GetSecretVO getSecretVO = new GetSecretVO();
getSecretVO.setKey(keyId);
getSecretVO.setSecret(secret);
return ResponseData.generateCreatedResponse(0,getSecretVO);
}
@PostMapping("uploadFile")
@ApiOperation("上传文件 file")
public ResponseVO uploadFile(@RequestParam("file") MultipartFile file){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build("http://oss-cn-shanghai.aliyuncs.com", keyId, secret);
UploadFileVO uploadFileVO = new UploadFileVO();
try {
if (env.equals("test")){
env = "shixi-ai-test";
}else {
env = "shixi-ai";
}
// 创建PutObjectRequest对象。
PutObjectRequest putObjectRequest = new PutObjectRequest(env, System.currentTimeMillis()+"_"+file.getOriginalFilename(), file.getInputStream());
// 设置该属性可以返回response。如果不设置,则返回的response为空。
putObjectRequest.setProcess("true");
// 创建PutObject请求。
PutObjectResult result = ossClient.putObject(putObjectRequest);
// 如果上传成功,则返回200。
// System.out.println(result.getResponse().getUri());
uploadFileVO.setUrl(result.getResponse().getUri());
} catch (Exception oe) {
oe.printStackTrace();
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
return ResponseData.generateCreatedResponse(0,uploadFileVO);
}
}
package com.subsidy.vo.oss;
import lombok.Data;
@Data
public class GetSecretVO {
private String key;
private String secret;
}
package com.subsidy.vo.oss;
import lombok.Data;
@Data
public class UploadFileVO {
private String url;
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!