package com.ruoyi.web.controller.system; import com.aliyun.oss.OSSClient; import com.aliyun.oss.model.ObjectMetadata; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.utils.file.FileUtils; 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 AjaxResult upload(HttpServletRequest request, @RequestPart("file") MultipartFile picture) { String filePath=""; try { filePath = ossUpload(request,picture); } catch (Exception e) { e.printStackTrace(); } AjaxResult ajax = AjaxResult.success(); ajax.put("url", filePath); return ajax; } 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; } }