package com.ruoyi.web.controller.system;
|
|
import com.aliyun.oss.OSSClient;
|
import com.aliyun.oss.model.ObjectMetadata;
|
import com.ruoyi.common.core.domain.R;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.util.UUID;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/upload")
|
@Api(tags = "上传")
|
public class UploadController {
|
@ApiOperation(value = "文件上传",notes="文件上传")
|
@PostMapping("/uploadFile")
|
@ResponseBody
|
public R<String> upload(HttpServletRequest request, @RequestPart("file") MultipartFile picture) {
|
String filePath="";
|
try {
|
filePath = ossUpload(request,picture);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return R.ok(filePath);
|
}
|
|
public static String oss_domain = "https://yizhengcheng.oss-cn-chengdu.aliyuncs.com/";
|
public static String accessKeyId = "LTAI5tHYSpwifc3rqLYJoETo";
|
public static String accessKeySecret = "xrDyQ89h8P0alWW7rrLIW2D2rt7Eig";
|
public static String bucketName="yizhengcheng";
|
public static String endpoint = "oss-cn-chengdu.aliyuncs.com";
|
|
|
public static String ossUpload(HttpServletRequest request, MultipartFile file) throws IOException {
|
//CommonsMultipartFile file = (CommonsMultipartFile)multipartFile;
|
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
|
|
String fileName = "";
|
if (file != null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename() != null) {
|
InputStream content = file.getInputStream();//获得指定文件的输入流
|
ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata
|
meta.setContentLength(file.getSize()); // 必须设置ContentLength
|
String originalFilename = file.getOriginalFilename();
|
fileName = UUID.randomUUID().toString().replaceAll("-", "") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
|
ossClient.putObject(bucketName, "img/" + fileName, content, meta);// 上传Object.
|
if (fileName != null && !"".equals(fileName)) {
|
fileName = oss_domain + "img/" + fileName;
|
}
|
}
|
return fileName;
|
}
|
}
|