记得上下班打卡 | git大法好,push需谨慎

Commit 64740964 authored by jiangxiulong's avatar jiangxiulong

al 上传

parent b9d95beb
package com.liquidnet.service.kylin.dto.vo.basicServices;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 阿里上传
* </p>
*
* @author jiangxiulong
* @since 2021-05-03 11:19 上午
*/
@Data
@ApiModel
public class UploadVo implements Serializable {
@ApiModelProperty(value = "上传后的地址")
private String uploadPath;
}
......@@ -148,3 +148,9 @@ global-auth:
# -----------------------------------------------------------
# -----------------------------------------------------------
liquidnet:
al-oss:
imgUrl: "https://img.zhengzai.tv/"
endpoint: http://oss-cn-hangzhou.aliyuncs.com
accessKeyId: LTAI4FxrURzMvvu9reFgwY5o
accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV
\ No newline at end of file
package com.liquidnet.service.platform.controller.basicServices;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import com.liquidnet.commons.lang.util.FilesUtils;
import com.liquidnet.service.kylin.dto.vo.basicServices.UploadVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.HashMap;
import java.util.UUID;
/**
* <p>
* 阿里云上传
* </p>
*
* @author jiangxiulong
* @since 2021-07-09
*/
@Api(tags = "basicServices")
@RestController
@RequestMapping("basicServices/AlOss")
public class AlOssController {
@Value("${liquidnet.al-oss.endpoint}")
private String endpoint;
@Value("${liquidnet.al-oss.accessKeyId}")
private String accessKeyId;
@Value("${liquidnet.al-oss.accessKeySecret}")
private String accessKeySecret;
@PostMapping("/upload")
@ApiOperation("阿里云上传")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "MultipartFile", name = "files", value = "文件", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "pathName", value = "归类的文件夹名称 比如banner上传就传 banner 返回的地址就会是bnanner/XXX", required = true),
})
public UploadVo upload(@RequestParam MultipartFile files, @RequestParam String pathName) {
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
File file = null;
try {
file = FilesUtils.multipartFileToFile(files);
} catch (Exception e) {
return null;
}
String filename = files.getResource().getFilename();// time.jpeg
//这里文件名用了uuid 防止重复,可以根据自己的需要来写
String uploadName = UUID.randomUUID() + filename.substring(filename.lastIndexOf("."));// 078a77e0-cf80-481b-824c-5935247cff15.jpeg
uploadName = uploadName.replace("-", "");// 078a77e0cf80481b824c5935247cff15.jpeg
String uploadpath = pathName + "/" + uploadName;
PutObjectRequest putObjectRequest = new PutObjectRequest("img-zhengzai-tv", uploadpath, file);
ossClient.putObject(putObjectRequest);
ossClient.shutdown();
file.delete();
UploadVo uploadVo = new UploadVo();
uploadVo.setUploadPath(uploadpath);
return uploadVo;
}
}
......@@ -15,7 +15,11 @@
</modules>
<dependencies>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
</dependencies>
......
......@@ -124,6 +124,12 @@
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
</dependencies>
</dependencyManagement>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment