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

来源:爱站网时间:2021-09-16编辑:网友分享
我有一个控制器方法,该方法从Web表单接收并上传文件。如何从FilePart中提取字节数组并将其保存到DB?我可以通过以下方法将FilePart保存到文件中:...

问题描述


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

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

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


 Mono uploadFile(@RequestParam("files") FilePart file){

    byte[] fileAsByteArray = convertFilePartToByteArray(file);

    fileService.saveByteArrayToDB(fileAsByteArray);

    /* Rest of the method */
 }

思路一:


请参见How to correctly read Flux and convert it to a single inputStream

思路二:


file.content() .map { it -> it.asInputStream().readAllBytes() } .map { it -> fileService.saveByteArrayToDB(it) } // it is Byte array

上一篇:Spring boot application main方法执行两次->端口已在使用中

下一篇:胸腺形式验证

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载