我正在尝试允许我的游戏客户端下载运行所需的缓存。在我的游戏Web服务器内部,我正在执行以下操作:
@RouteManifest(template="/cache", method="GET")
public class APICacheRoute extends RouteHttpHandler<JadePreprocessor> {
@Override
public void handleRequest(HttpServerExchange exchange) throws Exception {
Path path = Paths.get("./cache/Alterscape.zip");
File file = path.toFile();
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/octet-stream");
exchange.getResponseSender().send(file);
}
}
然而,我接收到错误提示,该文件必须是ByteBuffer。我如何返回可下载的文件?
我的网络服务器看起来像这样:
public static void initialize() {
ServerController server = new ServerController("localhost", 8080, 8443);
server.register(new APIVirtualHost());
server.inititialize();
}
我的APIVirtualHost如下:
public APIVirtualHost() {
super(127.0.0.1);
setDirectoryListingEnabled(false);
}