gpt4 book ai didi

.net - 即时压缩(来自流)流

转载 作者:行者123 更新时间:2023-12-02 03:46:56 25 4
gpt4 key购买 nike

我有一个第 3 方 API 方法,它将流作为输入参数并对其进行处理(读取)。我提供的流可能非常大(又名不适合内存)。我想获取此流并将其包装到一些压缩流中,该压缩流将在方法读取流时即时进行压缩。

有没有图书馆可以做到这一点?压缩不需要非常高效,类似 ZIP 的东西就足够了。

例子:

using (var data = File.OpenRead(...))
{
using (var pack = new PackStream(data))
{
3rdPartyApiMethod(pack);
}
}

void 3rdPartyApiMethod(Stream s)
{
// process the stream until EOF
// "while(true) s.Read"
}

因此理论上的 PackStream 应该读取来自底层流的数据(尽可能少),打包并返回给任何请求的人。

根据评论更新(完整故事见下文):
该方法所做的是以 block 为单位读取数据并将每个 block 上传到服务器。一次一个。只是把它存放在那里。因为我的文件比 block 大大约 100 倍,即使简单的 ZIP 压缩也能够将文件压缩到 ~1/10,我相信压缩它是个好主意。

最佳答案

使用DotNetZip的 ZlibStream。 zlib 专为流压缩而设计。

关于.net - 即时压缩(来自流)流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16418355/

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