導入依賴
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version> </dependency>
定義配置類 創建 OSSClient
/** * 負責創建 OSSClient */ @Configuration public class OSSConfig { @Bean public OSS ossClient(){ // Endpoint以杭州為例。 String endpoint = "https://oss-cn-beijing.aliyuncs.com"; // 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄RAM控制台創建RAM賬號。 String accessKeyId = "LTxxxxqnj"; String accessKeySecret = "njL5xxxxxxXYoc"; // 創建OSSClient實例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); return ossClient; } }
Controller
@RestController @RequestMapping("oss") public class OSSController { @Autowired private OSS ossClient; @RequestMapping("uploadImg") public R uploadImg(MultipartFile file) throws IOException { /** * 獲取文件后綴名 */ String originalFilename = file.getOriginalFilename(); int i = originalFilename.lastIndexOf("."); String png = originalFilename.substring(i); /** * 存儲空間的名字 */ String bucketName = "bzmall-05"; String fileName = "brand/"+ UUID.randomUUID().toString().substring(0,4) +png; // 上傳文件到指定的存儲空間(bucketName)並將其保存為指定的文件名稱(objectName)。 PutObjectResult result = ossClient.putObject(bucketName, fileName, file.getInputStream()); String fileUrl = "https://xxxxx.com/"+fileName; return R.ok().put("url",fileUrl); } }