Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
刷新SparkJava提供的静态文件_Java_Server_Static Files_Spark Java - Fatal编程技术网

刷新SparkJava提供的静态文件

刷新SparkJava提供的静态文件,java,server,static-files,spark-java,Java,Server,Static Files,Spark Java,我正在用Spark Java做一个项目。在服务器端,创建了一些映像,我希望它们在客户端可用。由于我有一个静态内容目录,在服务器端创建映像后,我将它放在该目录中。但是,除非重新启动服务器,否则此文件不可用。我想一定有办法在运行时刷新Spark Java的静态目录文件,以便满足运行时创建的映像的请求。对吧? 谢谢 我通过将png编码为Base 64并将其作为响应发送给客户端解决了这个问题。 如果您使用staticFiles.location(…),这意味着您将静态文件保留在类路径中,则在构建应用程序

我正在用Spark Java做一个项目。在服务器端,创建了一些映像,我希望它们在客户端可用。由于我有一个静态内容目录,在服务器端创建映像后,我将它放在该目录中。但是,除非重新启动服务器,否则此文件不可用。我想一定有办法在运行时刷新Spark Java的静态目录文件,以便满足运行时创建的映像的请求。对吧?


谢谢

我通过将png编码为Base 64并将其作为响应发送给客户端解决了这个问题。

如果您使用
staticFiles.location(…)
,这意味着您将静态文件保留在类路径中,则在构建应用程序时,静态资源会复制到目标文件夹中。这意味着您必须创建/构建项目以刷新静态文件。解决方法是告诉Spark从src目录的绝对路径读取静态文件


因此,请改用
staticFiles.externalLocation()

这只是一个愚蠢的问题:您确定这不是由于浏览器的缓存造成的吗?我不认为这可能是因为我尝试使用其他浏览器(即使在匿名模式下)访问图像生成的文件,但我一直无法访问。我可以做哪些测试来排除浏览器的缓存问题?如果这是缓存的问题,如何解决它而不会对用户不友好?谢谢如果您正在使用Docker:
staticFiles.externalLocation(“/static”)
,并将卷从工作副本映射到该目录:
Docker run-v“$PWD/src/main/resources/static:/static”…