main
HuangHai 3 months ago
parent 2231f7cebd
commit 34d4ee5cc4

@ -10,6 +10,7 @@ import com.jfinal.upload.MultipartRequest;
import com.jfinal.upload.UploadFile;
import io.jsonwebtoken.Claims;
import okhttp3.*;
import org.apache.commons.io.IOUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -55,16 +56,46 @@ public class RouterHandler extends Handler {
private void executeRequest(Request request, HttpServletResponse res) throws IOException {
Response response = OK_HTTP_CLIENT.newCall(request).execute();
if (response.isSuccessful()) {
String responseBody = null;
if (response.body() != null) {
responseBody = response.body().string();
ResponseBody body = response.body();
if (body != null) {
// 获取Content-Type
String contentType = response.header("Content-Type");
if (contentType != null && contentType.startsWith("image/")) {
// 处理图片响应
handleImageResponse(res, body, contentType);
} else {
// 处理文本响应
handleTextResponse(res, body);
}
} else {
renderJson(res, new RetBean(RetBean.ERROR, "响应体为空").toString());
}
renderJson(res, responseBody);
} else {
renderJson(res, new RetBean(RetBean.ERROR, "请求失败!").toString());
}
}
// 处理图片响应
private void handleImageResponse(HttpServletResponse res, ResponseBody body, String contentType) throws IOException {
// 设置响应头
res.setContentType(contentType);
res.setHeader("Cache-Control", "no-store");
res.setHeader("Pragma", "no-cache");
res.setDateHeader("Expires", 0);
// 将图片数据写入响应
try (InputStream inputStream = body.byteStream()) {
IOUtils.copy(inputStream, res.getOutputStream());
}
}
// 处理文本响应
private void handleTextResponse(HttpServletResponse res, ResponseBody body) throws IOException {
String responseBody = body.string();
renderJson(res, responseBody);
}
public static RequestBody createRequestBody(HttpServletRequest req) {
FormBody.Builder formBodyBuilder = new FormBody.Builder();
// 遍历请求中的参数

Loading…
Cancel
Save