gpt4 book ai didi

java - 在vertx中上传文件并将其转换为字节数组以插入数据库

转载 作者:行者123 更新时间:2023-11-30 02:23:19 26 4
gpt4 key购买 nike

我需要使用vertx编写上传文件代码,然后将其保存到PostgreSQL表中。但由于文件是以分段和异步方式上传的,我无法获取字节完整数组。以下是我的代码

public static void uploadLogo(RoutingContext routingContext) {
HttpServerRequest request = routingContext.request();
HttpServerResponse response = routingContext.response();
request.setExpectMultipart(true);
request.uploadHandler(upload -> {
upload.handler(chunk -> {
byte[] fileBytes = chunk.getBytes();
});
upload.endHandler(endHandler -> {
System.out.println("uploaded successfully");
});
upload.exceptionHandler(cause -> {
request.response().setChunked(true).end("Upload failed");
});
});
}

在这里,我在 fileBytes 中获取字节数组,但一次只能获取一部分。我不明白如何向其中添加下一个字节数组,因为它是异步工​​作的。有没有办法获取整个文件的字节数组

最佳答案

您好,我可以使用以下代码提取字节:

router.post("/upload").handler(ctx->{
ctx.request().setExpectMultipart(true);

ctx.request().bodyHandler(buffer->{
byte[] bytes=buffer.getBytes();

//transfer bytes to whichever service you want from here
});

ctx.response().end();
});

关于java - 在vertx中上传文件并将其转换为字节数组以插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46262003/

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