Java 从web应用程序使用HTTP访问远程文件

Java 从web应用程序使用HTTP访问远程文件,java,Java,我们要求将所有文件(文本、图像、PDF等)上传到服务器1。现在我们有一个Java web应用程序运行在另一个服务器(服务器2)上,它必须读取这些文件并在GUI中显示 FTP在web应用程序服务器中被阻止。所以我考虑使用HTTP。 Server1中的文件未分发。即,不在任何ear或war中。 我设法获得了从HTTP读取文件的代码 我的问题是 -当这些文件未分发时,如何通过HTTP访问这些文件 -当我写一个代码来访问像file这样的文件时,它说找不到文件。 -如何公开这些文件,以便通过HTTP从我的

我们要求将所有文件(文本、图像、PDF等)上传到服务器1。现在我们有一个Java web应用程序运行在另一个服务器(服务器2)上,它必须读取这些文件并在GUI中显示

FTP在web应用程序服务器中被阻止。所以我考虑使用HTTP。 Server1中的文件未分发。即,不在任何ear或war中。 我设法获得了从HTTP读取文件的代码

我的问题是 -当这些文件未分发时,如何通过HTTP访问这些文件 -当我写一个代码来访问像file这样的文件时,它说找不到文件。
-如何公开这些文件,以便通过HTTP从我的web应用程序访问这些文件

也就是说,您想下载文件的内容。 首先,打开一个浏览器。进入。 你得到了什么样的回应

其次,如果您得到“未找到文件”,则需要在server1中配置映射到真实路径的虚拟路径。之后,请再次尝试浏览器中的URL。当它起作用时

URL website = new URL("http://server1/file_location");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("file_name");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

将帮助您将文件下载到本地计算机

无法从浏览器访问文件。。如何添加虚拟路径?您使用哪个服务器列出文件?Tomcat容器?ApacheHTTP<代码>别名/myproject“C:/path/to/my/project”选项索引FollowSymLinks多视图ExecCGI AllowOverride All Order allow,deny allow from All服务器1-Weblogic容器包含ear服务器2-Weblogic容器外部的文件,该容器将读取服务器1中的文件。检查此项,这也会有所帮助