我有一个java Web服务,通过它我可以将图像上传到文件服务器。我想从我的java web应用程序访问这些图像。 如何从此文件服务器中提供图像文件(以及最终的其他静态文件)?
我唯一能想到的就是使用Apache Http服务器作为这些图像的Web应用程序的代理,但这会绕过Web应用程序的安全措施。
更新
答案 0 :(得分:1)
如何存储文件?
如果安全性是一个问题,最好的选择可能是创建一个Servlet(或类似的东西),它将加载图像并在用户检查其凭据后将其提供给用户。
如何加载图像取决于它们是如何存储的,如果你可以通过HTTP访问它们,你总是可以从Servlet打开URLConnection到文件并直接以这种方式提供它(即使用Servlet作为一种代理服务器)。
如果没有更多细节,很难具体说明。
答案 1 :(得分:1)
我不确定这是否能解决您的问题,但听起来您应该设置一个上下文路径,将URL映射到服务器上的路径。这可以使用tomcat的上下文文件来完成。
有关解决方案的详细说明,请查看How to Program with Java
上的帖子答案 2 :(得分:0)
听起来与Apache Hadoop类似。 请求图像/文件后,您必须进行API调用并将文件拉出并执行以下操作之一:
将临时文件存储到Web可访问服务器上的“temp”目录中。你需要在后台运行某种清洁/ gc来清理那些临时文件。这就是Facebook用照片做的事情。
不是在服务器上存储文件,而是检查文件类型并将HTTP Content-type标头设置为适当的文件类型。图片来源将显示为<img src="getPicture.jsp?id=1234" />