如何在Spring 5 MVC中将FilePart转换为byte []

问题描述 投票:0回答:2

我有一个控制器方法,该方法从Web表单接收并上传文件。如何从FilePart中提取字节数组并将其保存到DB?

我可以通过使用FilePart.transferTo()将FilePart保存到文件中来做到这一点,但这似乎很慢而且很丑陋。还有更好的方法吗?

import org.springframework.http.codec.multipart.FilePart;
import org.springframework.web.bind.annotation.*;


 Mono<UploadResult> uploadFile(@RequestParam("files") FilePart file){

    byte[] fileAsByteArray = convertFilePartToByteArray(file);

    fileService.saveByteArrayToDB(fileAsByteArray);

    /* Rest of the method */
 }
java spring spring-mvc project-reactor reactor
2个回答

0
投票
file.content() .map { it -> it.asInputStream().readAllBytes() } .map { it -> fileService.saveByteArrayToDB(it) } // it is Byte array
© www.soinside.com 2019 - 2024. All rights reserved.