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();//获得指定文件的输入流
|
}
|
}
|