mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
fix: can't download log file when sever and browser are not in the same network
This commit is contained in:
parent
c176a447e7
commit
e8ada3789f
@ -17,6 +17,7 @@ import com.github.kfcfans.powerjob.server.web.request.QueryInstanceRequest;
|
|||||||
import com.github.kfcfans.powerjob.server.web.response.InstanceDetailVO;
|
import com.github.kfcfans.powerjob.server.web.response.InstanceDetailVO;
|
||||||
import com.github.kfcfans.powerjob.server.web.response.InstanceInfoVO;
|
import com.github.kfcfans.powerjob.server.web.response.InstanceInfoVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.data.domain.Example;
|
import org.springframework.data.domain.Example;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.net.URL;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -92,6 +94,24 @@ public class InstanceController {
|
|||||||
OmsFileUtils.file2HttpResponse(file, response);
|
OmsFileUtils.file2HttpResponse(file, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/downloadLog4Console")
|
||||||
|
public void downloadLog4Console(Long appId, Long instanceId , HttpServletResponse response) throws Exception {
|
||||||
|
// 获取内部下载链接
|
||||||
|
String downloadUrl = instanceLogService.fetchDownloadUrl(appId, instanceId);
|
||||||
|
// 先下载到本机
|
||||||
|
String logFilePath = OmsFileUtils.genTemporaryWorkPath() + String.format("powerjob-%s-%s.log", appId, instanceId);
|
||||||
|
File logFile = new File(logFilePath);
|
||||||
|
|
||||||
|
try {
|
||||||
|
FileUtils.copyURLToFile(new URL(downloadUrl), logFile);
|
||||||
|
|
||||||
|
// 再推送到浏览器
|
||||||
|
OmsFileUtils.file2HttpResponse(logFile, response);
|
||||||
|
} finally {
|
||||||
|
FileUtils.forceDelete(logFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
public ResultDTO<PageResult<InstanceInfoVO>> list(@RequestBody QueryInstanceRequest request) {
|
public ResultDTO<PageResult<InstanceInfoVO>> list(@RequestBody QueryInstanceRequest request) {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user