package com.dsh.guns.modular.system.util; import com.obs.services.ObsClient; import com.obs.services.model.ObsObject; import com.obs.services.model.PutObjectResult; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; import java.util.UUID; public class OBSUploadUtil { //OSS图片访问域名 public static String endPoint = "https://obs.ap-southeast-4.myhuaweicloud.com"; public static String accessKey = "BYWFLGV3O5G55GF1KUO8"; public static String accessKeySecret = "cf7XUYvReytrikwXa1xJNZrc48Vfu8TTP3Blm0EY"; public static String bucketName="evmoto"; /** * 流式上传 * @param file * @return * @throws IOException */ public static String inputStreamUpload(MultipartFile file) throws IOException { // 创建ObsClient实例 ObsClient obsClient = new ObsClient(accessKey, accessKeySecret, endPoint); String originalFilename = file.getOriginalFilename(); String fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length()); // 待上传的本地文件路径,需要指定到具体的文件名 InputStream content = file.getInputStream();//获得指定文件的输入流 PutObjectResult putObjectResult = obsClient.putObject(bucketName, fileName, content); String objectUrl = putObjectResult.getObjectUrl(); return objectUrl; } public static InputStream getOBSStream(String key){ // 创建ObsClient实例 ObsClient obsClient = new ObsClient(accessKey, accessKeySecret, endPoint); ObsObject object = obsClient.getObject(bucketName, key); // 待上传的本地文件路径,需要指定到具体的文件名 return object.getObjectContent();//获得指定文件的输入流 } }