我们有一个带有JPEG的Windows文件共享,我试图通过Java Spring Boot REST API从Pivotal Cloud Foundry访问。实现这一目标的PCF和Java本身需要哪些步骤?
我是否必须首先在PCF中安装驱动器,然后我可以使用标准的java.io库以某种方式访问此文件?截至目前,我们只是想将JPEG文件读入BufferedImage,并在进行一些图形操作(我知道该怎么做)之后将它们作为Base64返回,但是我仍然不知道该如何处理这个问题。 PCF的领域。显然,它在我的Windows开发机器上工作得很好,我的登录用户也拥有文件共享的凭据,无需安装或执行任何特殊操作。
我一直在线阅读有关SMB和JCIFS库的文章,但仍然不确定这是否是我需要的,或者如何将这些应用于手头的技术。
从Pivotal Cloud Foundry 2.4开始,您可以启用SMB卷服务。这使您可以cf create-service
指向SMB服务器的卷服务。然后,您可以将其绑定到您的应用程序,当您的应用程序启动时,平台会将SMB卷安装到您指定的安装点。此时,您的应用只需要知道挂载点,如/smb
或/files
,因此它可以使用标准Java I / O来读取文件。
如果您是平台运营商,则可以在此处获取启用SMB卷服务的说明。
https://docs.pivotal.io/pivotalcf/2-4/opsguide/enable-vol-services.html#smb-enable
如果您是开发人员,请使用此处的说明。
https://docs.pivotal.io/pivotalcf/2-4/devguide/services/using-vol-services.html#smb
如果您使用的是较早版本的PCF,或者您的操作员未启用此功能,则需要在应用中编写代码以直接访问SMB卷。有多个库可以执行此操作(并且可能比此列表中的更多)。
我不能推荐一个特定的,所以你需要评估并找出哪一个适合你。
请记住,无论您选择什么,您都需要从运行在PCF上的应用程序访问SMB服务器。这意味着IP需要可路由且不被防火墙阻止。如果您无法连接,您可能还希望与平台运营商一起检查网络访问,并确保没有任何东西阻止连接(防火墙,应用程序安全组等)。
希望有所帮助!