Merge branch 'hjb' of SH-Arbitrate/Arbitrate-Backend into dev

This commit was merged in pull request #48.
This commit is contained in:
2023-10-10 18:25:22 +08:00
committed by Gitea
@@ -1,5 +1,6 @@
package com.ruoyi.common.utils.file;
import cn.hutool.json.JSONObject;
import com.ruoyi.common.config.EsignDemoConfig;
import com.ruoyi.common.constant.EsignHeaderConstant;
import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
@@ -16,8 +17,6 @@ public class SaaSAPIFileUtils {
private static String eSignAppSecret=EsignDemoConfig.EsignAppSecret;
/**
* 获取文件上传地址
*
* @return
*/
public static EsignHttpResponse getUploadUrl(String filePath) throws EsignDemoException {
//自定义的文件封装类,传入文件地址可以获取文件的名称大小,文件流等数据
@@ -38,6 +37,47 @@ public class SaaSAPIFileUtils {
//发起接口请求
return EsignHttpHelper.doCommHttp(eSignHost, apiaddr, requestType, jsonParm, header, true);
}
/**
* 上传文件流
*/
public static EsignHttpResponse uploadFile(String uploadUrl,String filePath) throws EsignDemoException {
//根据文件地址获取文件contentMd5
EsignFileBean esignFileBean = new EsignFileBean(filePath);
//请求方法
EsignRequestType requestType= EsignRequestType.PUT;
return EsignHttpHelper.doUploadHttp(uploadUrl,requestType,esignFileBean.getFileBytes(),esignFileBean.getFileContentMD5(), EsignHeaderConstant.CONTENTTYPE_STREAM.VALUE(),true);
}
/**
* 获取文件上传状态
*/
public static EsignHttpResponse getFileStatus(String fileId) throws EsignDemoException {
String apiaddr="/v3/files/"+fileId;
//请求参数body体,json格式。get或者delete请求时jsonString传空json:"{}"或者null
String jsonParm=null;
//请求方法
EsignRequestType requestType= EsignRequestType.GET;
//生成签名鉴权方式的的header
Map<String, String> header = EsignHttpHelper.signAndBuildSignAndJsonHeader(eSignAppId,eSignAppSecret,jsonParm,requestType.name(),apiaddr,true);
//发起接口请求
return EsignHttpHelper.doCommHttp(eSignHost, apiaddr,requestType , jsonParm, header,true);
}
/* public static void main(String[] args) throws EsignDemoException {
String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\07\\6babb8e261454fffbacf6d9fd1589b9b.docx";
EsignHttpResponse uploadUrl = getUploadUrl(filePath);
String body = uploadUrl.getBody();
JSONObject jsonObject = new JSONObject(body);
JSONObject dataObj = jsonObject.getJSONObject("data");
String fileUploadUrl = dataObj.get("fileUploadUrl").toString();
System.out.println("这是fileUploadUrl:"+fileUploadUrl);
String fileId = dataObj.get("fileId").toString();
System.out.println("这是fileId:"+fileId);
EsignHttpResponse esignHttpResponse = uploadFile(fileUploadUrl, filePath);
System.out.println("这是上传文件流的结果:"+esignHttpResponse.getBody());
EsignHttpResponse fileStatus = getFileStatus(fileId);
System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody());
getFileStatus("95d0c307d91e4985bdb8874f6f84daa5");
}*/
}