83 lines
3.5 KiB
Java
83 lines
3.5 KiB
Java
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import org.apache.http.HttpEntity;
|
|
import org.apache.http.client.methods.CloseableHttpResponse;
|
|
import org.apache.http.client.methods.HttpPost;
|
|
import org.apache.http.entity.StringEntity;
|
|
import org.apache.http.impl.client.CloseableHttpClient;
|
|
import org.apache.http.impl.client.HttpClients;
|
|
import org.apache.http.util.EntityUtils;
|
|
|
|
import java.io.IOException;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Paths;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* 测试上传OCR结果到后端接口
|
|
*/
|
|
public class test_upload {
|
|
public static void main(String[] args) {
|
|
String jsonFilePath = "ocr_results/current_results.json";
|
|
String uploadUrl = "http://localhost:48080/admin-api/tblist/ecganalysisparas/parsePhotoCreateData";
|
|
|
|
try {
|
|
// 读取JSON文件内容
|
|
String jsonContent = new String(Files.readAllBytes(Paths.get(jsonFilePath)), StandardCharsets.UTF_8);
|
|
System.out.println("原始JSON内容: " + jsonContent);
|
|
|
|
// 解析JSON
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
List<Map<String, Object>> results = objectMapper.readValue(jsonContent, List.class);
|
|
if (results.isEmpty()) {
|
|
System.out.println("没有OCR结果可上传");
|
|
return;
|
|
}
|
|
|
|
// 获取第一个结果
|
|
Map<String, Object> resultObject = results.get(0);
|
|
|
|
// 提取extracted_data部分
|
|
Map<String, Object> extractedData = (Map<String, Object>) resultObject.get("extracted_data");
|
|
|
|
// 添加额外信息
|
|
extractedData.put("file_path", resultObject.get("file_path"));
|
|
extractedData.put("process_time", resultObject.get("process_time"));
|
|
|
|
// 转换为符合接口的JSON
|
|
String uploadJson = objectMapper.writeValueAsString(extractedData);
|
|
System.out.println("上传的JSON内容: " + uploadJson);
|
|
|
|
// 创建HTTP客户端
|
|
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
|
|
// 构建HTTP请求
|
|
HttpPost httpPost = new HttpPost(uploadUrl);
|
|
httpPost.setHeader("Content-Type", "application/json");
|
|
httpPost.setHeader("Accept", "application/json");
|
|
|
|
httpPost.setEntity(new StringEntity(uploadJson, StandardCharsets.UTF_8));
|
|
|
|
System.out.println("正在发送请求到: " + uploadUrl);
|
|
|
|
// 发送请求
|
|
try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
|
|
int statusCode = response.getStatusLine().getStatusCode();
|
|
HttpEntity entity = response.getEntity();
|
|
String responseBody = entity != null ? EntityUtils.toString(entity) : null;
|
|
|
|
System.out.println("状态码: " + statusCode);
|
|
System.out.println("响应内容: " + responseBody);
|
|
|
|
if (statusCode >= 200 && statusCode < 300) {
|
|
System.out.println("上传成功!");
|
|
} else {
|
|
System.out.println("上传失败!");
|
|
}
|
|
}
|
|
}
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
} |