gpt4 book ai didi

Java - 如何等待 uploadFileToBlockBlob 完成?

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

Azure 的 sdk v10 存在问题,当我上传文件时,代码会在上传完成其任务时继续执行,但我真的想坚持到上传完成为止。

我看到 c# 有一个“await”函数,有 Java 方法来处理这个吗?

try{

AsynchronousFileChannel fileChannel = AsynchronousFileChannel.open(file.toPath());

TransferManager.uploadFileToBlockBlob(fileChannel, blob, 8*1024*1024, null, null)
.subscribe( azureResponse -> {
logger.info("Status code: " + azureResponse.response().statusCode());
if( azureResponse.response().statusCode() != 201){
logger.error("upload failed - " + azureResponse.response().body());
// throw exception
}
});
} catch( Exception e ) {
// handle the exception
}

最佳答案

我对 azure 特别不熟悉,但也许您可以编写一个 while 循环来阻止线程执行,直到上传过程完成。只要您有一个单独的 boolean 方法,在文件上传完成后返回 true ,像这样简单的事情就可以解决问题:

while(!hasFileUploaded()) 
{
// do nothing here
}

如果这个答案看起来有点笼统,我很抱歉,但如果没有进一步了解文件上传的方式和位置,我无法确切地告诉您如何验证上传过程。

关于Java - 如何等待 uploadFileToBlockBlob 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56343201/

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