BCE临时使用

This commit is contained in:
2025-07-24 00:32:49 +08:00
parent 477554cb35
commit eb61058fd1
8 changed files with 185 additions and 7 deletions

View File

@@ -0,0 +1,4 @@
package com.ycwl.basic.image.enhancer;
public class ImageEnhancerFactory {
}

View File

@@ -0,0 +1,44 @@
package com.ycwl.basic.image.enhancer.adapter;
import com.baidu.aip.imageprocess.AipImageProcess;
import com.ycwl.basic.image.enhancer.entity.BceEnhancerConfig;
import com.ycwl.basic.image.util.ImageUtil;
import com.ycwl.basic.utils.ImageUtils;
import org.json.JSONObject;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.Map;
public class BceImageEnhancer implements IEnhancer {
private BceEnhancerConfig config;
public boolean setConfig(BceEnhancerConfig config) {
this.config = config;
return true;
}
@Override
public boolean loadConfig(Map<String, String> _config) {
BceEnhancerConfig config = new BceEnhancerConfig();
config.setAppId(_config.get("appId"));
config.setApiKey(_config.get("apiKey"));
config.setSecretKey(_config.get("secretKey"));
config.setQps(Float.parseFloat(_config.get("qps")));
this.config = config;
return true;
}
@Override
public MultipartFile enhance(String url) {
AipImageProcess client = getClient();
HashMap<String, String> options = new HashMap<>();
JSONObject jsonObject = client.imageQualityEnhance(url, options);
return ImageUtils.base64ToMultipartFile(jsonObject.getString("image"));
}
public AipImageProcess getClient() {
AipImageProcess client = new AipImageProcess(config.getAppId(), config.getApiKey(), config.getSecretKey());
return client;
}
}

View File

@@ -0,0 +1,11 @@
package com.ycwl.basic.image.enhancer.adapter;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
public interface IEnhancer {
boolean loadConfig(Map<String, String> _config);
public MultipartFile enhance(String url);
}

View File

@@ -0,0 +1,11 @@
package com.ycwl.basic.image.enhancer.entity;
import lombok.Data;
@Data
public class BceEnhancerConfig {
private String appId;
private String apiKey;
private String secretKey;
private float qps = 1.0f;
}