parent
3e069a3b98
commit
26928992e9
@ -0,0 +1,100 @@ |
||||
package com.hfkj.common.obs; |
||||
|
||||
import com.hfkj.config.CommonSysConst; |
||||
import com.obs.services.ObsClient; |
||||
import com.obs.services.model.*; |
||||
|
||||
import java.io.File; |
||||
import java.io.IOException; |
||||
|
||||
/** |
||||
* 华为云obs 对象存储 |
||||
* @author hurui |
||||
*/ |
||||
public class HuaWeiYunObs { |
||||
|
||||
public static String url = CommonSysConst.getSysConfig().getObsUrl(); |
||||
private static String endPoint = CommonSysConst.getSysConfig().getObsEndPoint(); |
||||
private static String accessKey = "CZVO7VAT8UV2RPYJUBD2"; |
||||
private static String secretKey = "gyjrR8rYq9w2maPq9VmpRqoMqCJzQMH8vMctg7eE"; |
||||
public static String bucketName = CommonSysConst.getSysConfig().getObsUrl(); |
||||
|
||||
/** |
||||
* 创建请求 |
||||
* @return |
||||
*/ |
||||
private static ObsClient createClient() { |
||||
return new ObsClient(accessKey, secretKey, endPoint); |
||||
} |
||||
|
||||
/** |
||||
* 关闭请求 |
||||
* @param obsClient |
||||
*/ |
||||
private static void closeClient(ObsClient obsClient) { |
||||
try { |
||||
if (obsClient != null) { |
||||
obsClient.close(); |
||||
} |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 上传文件 |
||||
* @param bucketName 桶名称 |
||||
* @param objectName 对象名称 例如:1.jpg |
||||
* @param file 文件路径 |
||||
* @return |
||||
*/ |
||||
public static PutObjectResult putObject(String bucketName,String objectName, File file) { |
||||
ObsClient client = createClient(); |
||||
try { |
||||
return client.putObject(bucketName, objectName, file); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} finally { |
||||
closeClient(client); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* 上传文件 |
||||
* @param fileUrl 文件路径 |
||||
* @param bucketName 桶名称 |
||||
* @param objectName 对象路径名称 例如:temporary/1.jpg |
||||
* @return |
||||
*/ |
||||
public static void obsUtilPutObject(String fileUrl,String bucketName,String objectName) throws IOException { |
||||
// 执行上传命令
|
||||
new ProcessBuilder("/bin/bash", "-c", "obsutil cp "+ fileUrl + " obs://"+bucketName +"/"+ objectName).start(); |
||||
} |
||||
|
||||
/** |
||||
* 获取图片临时路径 |
||||
* @param bucketName 桶名称 |
||||
* @param objectName 对象名称 例如:1.jpg |
||||
* @return |
||||
*/ |
||||
public static String getImgSignedUrl(String bucketName,String objectName) { |
||||
ObsClient client = createClient(); |
||||
try { |
||||
TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, 1800L); |
||||
request.setBucketName(bucketName); |
||||
request.setObjectKey(objectName); |
||||
|
||||
TemporarySignatureResponse response = client.createTemporarySignature(request); |
||||
return response.getSignedUrl(); |
||||
|
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} finally { |
||||
closeClient(client); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
|
||||
} |
Loading…
Reference in new issue