首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Spring WebFlux FilePart transferTo方法不能将文件写入dest路径

Spring WebFlux FilePart transferTo方法不能将文件写入dest路径
EN

Stack Overflow用户
提问于 2022-09-22 07:14:41
回答 1查看 259关注 0票数 0
代码语言:javascript
复制
import org.springframework.http.codec.multipart.FilePart;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Mono;

import java.io.File;

@RestController
public class TestController {

    @PostMapping("test")
    public Mono<R> test(FilePart file){
        String fileName = file.filename();
        File newFile = new File("F:/images/banner/",fileName);
        file.transferTo(newFile);
        return Mono.just(R.ok());
    }
}

我上传图片,并使用transferTo方法将文件写入最优路径。但我在F:/images/banner/里找不到照片有人能帮我吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-09-22 08:02:18

在编写反应性代码时,您必须确保它终止,或者换句话说,您需要订阅发布服务器。file.transferTo()返回一个Mono<Void>,如果您不订阅,它实际上什么也不做。

在这种情况下,您可以做的是使用then方法返回结果。

代码语言:javascript
复制
@PostMapping("test")
public Mono<R> test(FilePart file){
    String fileName = file.filename();
    File newFile = new File("F:/images/banner/",fileName);
    return file.transferTo(newFile)
      .then(Mono.just(R.ok()));
}

现在,您返回调用链,客户端将订阅,事情将开始发生。您还可以添加一个额外的onError调用,以在传输中发生故障时返回错误响应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73810669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档