获取文件上传地址

This commit is contained in:
hejinbo
2023-10-10 16:22:24 +08:00
parent 2d86bbb5e8
commit 4d4ab28c40
14 changed files with 1588 additions and 9 deletions
@@ -0,0 +1,43 @@
package com.ruoyi.common.utils.file;
import com.ruoyi.common.config.EsignDemoConfig;
import com.ruoyi.common.constant.EsignHeaderConstant;
import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
import com.ruoyi.common.enums.EsignRequestType;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.utils.EsignHttpHelper;
import com.ruoyi.common.utils.bean.EsignFileBean;
import java.util.Map;
public class SaaSAPIFileUtils {
private static String eSignHost= EsignDemoConfig.EsignHost;
private static String eSignAppId= EsignDemoConfig.EsignAppId;
private static String eSignAppSecret=EsignDemoConfig.EsignAppSecret;
/**
* 获取文件上传地址
*
* @return
*/
public static EsignHttpResponse getUploadUrl(String filePath) throws EsignDemoException {
//自定义的文件封装类,传入文件地址可以获取文件的名称大小,文件流等数据
EsignFileBean esignFileBean = new EsignFileBean(filePath);
String apiaddr = "/v3/files/file-upload-url";
//请求参数body体,json格式。get或者delete请求时jsonString传空json:"{}"或者null
String jsonParm = "{\n" +
" \"contentMd5\": \"" + esignFileBean.getFileContentMD5() + "\",\n" +
" \"fileName\":\"" + esignFileBean.getFileName() + "\"," +
" \"fileSize\": " + esignFileBean.getFileSize() + ",\n" +
" \"convertToPDF\":" +true+ ",\n" +
" \"contentType\": \"" + EsignHeaderConstant.CONTENTTYPE_STREAM.VALUE() + "\"\n" +
"}";
//请求方法
EsignRequestType requestType = EsignRequestType.POST;
//生成签名鉴权方式的的header
Map<String, String> header = EsignHttpHelper.signAndBuildSignAndJsonHeader(eSignAppId, eSignAppSecret, jsonParm, requestType.name(), apiaddr, true);
//发起接口请求
return EsignHttpHelper.doCommHttp(eSignHost, apiaddr, requestType, jsonParm, header, true);
}
}