gpt4 book ai didi

java - 如何读取以链形式提供的 Base64 文件?

转载 作者:行者123 更新时间:2023-12-01 23:17:27 26 4
gpt4 key购买 nike

我目前正在开发一个 REST 服务,该服务在其请求中接收一个字段,在该字段中传递一个 Base 64 格式的文件(出现“n”个字符)。我在服务逻辑中所做的就是将该字符串转换为文件并将其保存在预定路径中。

但问题是,当文件太大(3MB)时,服务会变慢并且需要很长时间才能响应。

这是我正在使用的代码:

String filename = "TEXT.DOCX"
BufferedOutputStream stream = null;
// THE FIELD base64file IS WHAT A STRING IN BASE FORMAT COMES FROM THE REQUEST 64
byte [] fileByteArray = java.util.Base64.getDecoder (). decode (base64file);
// VALID FILE SIZE
if ((1 * 1024 * 1024 <fileByteArray.length) {
    logger.info ("The file [" + filename + "] is too large");
} else {
    stream = new BufferedOutputStream (new FileOutputStream (new File ("C: \" + filename)));
    stream.write (fileByteArray);
}

我该如何避免这种不便。而且我的服务不需要很长时间就能将文件转换为文件。

最佳答案

缓冲并不能提高您的性能,因为您要做的只是尽可能快地写入文件。一般来说,它看起来不错,更改您的代码以直接使用 FileOutputStream 并查看它是否会更好:

try (FileOutputStream stream = new FileOutputStream(path)) {
stream.write(bytes);
}

或者,您也可以尝试使用 Apache Commons 等工具来为您完成任务:

FileUtils.writeByteArrayToFile(new File(路径), 字节);

关于java - 如何读取以链形式提供的 Base64 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58343942/

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