gpt4 book ai didi

java - 如何在提供文件之前使用嵌入式 Jetty 转换文件?

转载 作者:行者123 更新时间:2023-11-29 05:07:37 25 4
gpt4 key购买 nike

这是我用来从带有嵌入式 Jetty 的文件系统提供静态文件的代码。

    String directory = "dir";
final ContextHandler contextHandler = new ContextHandler();
final ResourceHandler resourceHandler = new ResourceHandler();
contextHandler.setContextPath("/" + directory);
resourceHandler.setBaseResource(Resource.newResource(new File(directory,
directory);
contextHandler.setHandler(resourceHandler);

我如何修改它以在提供文件之前转换文件?

我想继续使用 ResourceHandler 和 ContextHandler 以避免在这些类中重新实现有用的逻辑。

谢谢!

最佳答案

ResourceHandler 不支持在流中(动态)修改内容。

ResourceHandler 经过优化以尽可能高效地发送文件,通常使用内存映射文件缓冲区,将文件直接从磁盘提供给网络,接下来不对 Java 内存中的文件进行缓冲区处理。

你有两个选择:

  1. 在单独的步骤或过程中(不是即时)修改磁盘上的文件
  2. 编写您自己的文件服务处理程序,可以动态修改文件。

您可以使用 FastFileServer example来自 Jetty git 存储库作为选择 #2 的良好起点。

关于java - 如何在提供文件之前使用嵌入式 Jetty 转换文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29859522/

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