gpt4 book ai didi

java - 如何配置 liferay tomcat 服务器以从另一个 liferay tomcat 服务器读取文件?

转载 作者:行者123 更新时间:2023-11-28 22:10:42 24 4
gpt4 key购买 nike

我想访问远程 liferay 服务器上的文件。我通过 java main 方法程序的 apache httpclient 成功了,它将读取文件并根据需要进行转换,但是当我根据我的要求将该代码移动到 liferay 服务器时,它无法读取文件并将其转换为 tiff 图像文件我已经使用了转换所需的所有 jars 文件,并且当我从 java main 方法程序尝试时也包含了相同的 jars。

我的问题是我是否需要任何外部服务器配置来实现我的要求?

下面是我在主程序中使用的代码

HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet("http://localhost:8080"
+ StringPool.SLASH + "AtalasoftScan" + StringPool.SLASH
+ "atala-capture-upload" + StringPool.SLASH + headerFileName);
HttpResponse response = client.execute(request);
File tempFile = new File(System.getProperty("catalina.base")
+ File.separator + "webapps" + File.separator + "AtalasoftScan"
+ File.separator + "atala-capture-upload" + File.separator
+ headerFileName);
InputStream fileStream=response.getEntity().getContent();
BufferedImage image = ImageIO.read(fileStream);
ImageIO.write(image, "bmp", tempFile);

我在 liferay 服务器上用我的方法编写的相同代码。

我要从 liferay 服务器打开连接,但是什么时候

BufferedImage image = ImageIO.read(fileStream);

图像不是从 inputStream 获取的。

对此的任何建议都会有所帮助。

提前致谢。

最佳答案

请注意,将与部署新 Web 应用程序无关的随机内容复制到 tomcat 的 webapps 目录中是极其糟糕的做法:您随时都有可能在更新应用程序时丢失上传的内容,或者面临任何灾难恢复被破坏的风险不可能,因为您在那里缺少文件。

充其量,您的解决方案是一种快速破解,而不是您应该长期坚持的解决方案。这种解决问题的方法(如果多次使用)只会创建一个无法维护的应用程序集团,您将永远无法快速升级到任何相关应用程序的下一个版本(即使在发布安全修复程序的情况下) ).

话虽这么说,很高兴看到您发现不需要“图像”中间步骤 - 如果您确实只想将资源复制到另一个地方,那么只需复制数据就足够了 - 嗯 - 那除非您想确保您实际上是在复制图像。特别是对于人们在运行时将文件复制到 Web 应用程序的设置,存在一个攻击媒介:想象一下有人上传任意 JSP 文件,而您是服务器端代码执行的受害者。

关于java - 如何配置 liferay tomcat 服务器以从另一个 liferay tomcat 服务器读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48687193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com