gpt4 book ai didi

java - 如何在 JAVA 中引用 Azure Functions 中的文件?

转载 作者:行者123 更新时间:2023-12-02 08:25:39 25 4
gpt4 key购买 nike

我查看了其他 5 个提出同样问题的问题,但没有一个有效。我能够将资源文件夹部署到可运行的 .jar 所在的 wwwroot 中,以供该函数使用。

/resources.jar 位于同一目录中。

我尝试过将资源与 jar 路径捆绑在一起,并使用 this.getClass().getResource('resources/file.txt') 进行访问,但它在云上不起作用由于某种原因,我正在使用的 SDK 要求我使用 native Java File api。

以下是部署 Azure Function 后结构的屏幕截图,供引用:

screenshot of azure function

如上所示,.jar 文件需要访问 /resources 文件夹。

最佳答案

我遇到了同样的问题,并想出了这个解决方法,以便让它在本地和 azure 上运行:

    String filename = "myfile.dat";
InputStream stream = null;
try {
stream = MyFunction.class.getClassLoader().getResourceAsStream(filename);
if (stream == null) {
ctx.getLogger().severe(format("file [%s] not found", certificateName));
ctx.getLogger().warning("assuming azure environment, using absolute path /home/site/wwwroot/" + filename);
stream = new FileInputStream("/home/site/wwwroot/" + filename);
}
//...rest of the code, catch clause...

getClassLoader().getResourceAsStream 流将正确读取您放置在 src/main/resources 中的文件,并且 FileInputStream 将查看部署中的绝对路径。

关于java - 如何在 JAVA 中引用 Azure Functions 中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64864366/

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