gpt4 book ai didi

java - 无法在 Java 中上传 200mb PDF 文件

转载 作者:行者123 更新时间:2023-11-30 01:58:01 36 4
gpt4 key购买 nike

我可以上传包含 7MB 数据的 PDF 文件,但无法上传超过 7MB 的数据。任何人都可以提供如何使用 SMB 协议(protocol)上传 200MB 文件同时使用 Angular 代码处理 200MB PDF 文件的示例

服务代码:

SmbFileOutputStream sfos = new SmbFileOutputStream(efbiFile);
byte[] buf = new byte[1024 * 1024 * 200];
BufferedOutputStream bufos = new BufferedOutputStream(sfos,buf.length);
final ReadableByteChannel inputChannel =
Channels.newChannel(fileObj.getInputStream());
final WritableByteChannel outputChannel = Channels.newChannel(bufos);
ChannelTools.fastChannelCopy(inputChannel,outputChannel);
inputChannel.close();
outputChannel.close();

最佳答案

您很可能不想分配 200 MB 缓冲区(新字节[1024 * 1024 * 200])。 BufferedOutputStream 的目的是提高许多小写入的整体性能,而不是将整个输入存储在 RAM 中。

您可以使用InputStream.transferTo(OutputStream )方法并以默认的 BufferedOutputStream 大小 8196 开始:

try (InputStream in = fileObj.getInputStream();
SmbFileOutputStream sfos = new SmbFileOutputStream(efbiFile);
BufferedOutputStream out = new BufferedOutputStream(sfos)) {
in.transferTo(out);
out.flush(); // In case SmbFileOutputStream doesn't implement this correctly
}

关于java - 无法在 Java 中上传 200mb PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53729998/

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