【发布时间】:2018-08-20 06:16:37
【问题描述】:
我正在向前端传递一个文件 url。问题是 url 仅对服务器可用(settings.dockerIP()),因为用户没有与 docker 的连接。
所以我需要一种方法将我的 url 转换为文件,然后在后端将其发送给用户..
我当前的代码是这样的(它可以工作,但用户需要一个到 docker 主机的隧道)
控制器
@RequestMapping("/report")
public ModelAndView report(HttpServletRequest request) {
String environmentName = request.getParameter("name");
ModelAndView model = new ModelAndView("report");
model.addObject("file", Report.getFileFromContainer(environmentName));
return model;
}
类
public static String getFileFromContainer(String environmentName) {
Container container = getContainerID(environmentName);
String url = "";
if(container != null) {
Settings settings = Settings.getSettings();
url = "http://" + settings.getDockerIP() + ":" + settings.getDockerPort() + "/containers/" + container.getId() + "/archive?path=/path/file";
}
return url;
}
前端
<a href="${file}"></a>
【问题讨论】:
-
创建一个端点,在单击链接时将文件作为 outputStream 附件返回
标签: java html spring spring-mvc docker