我想遍历压缩存档的内容,并在内容可读的地方显示它们。我可以对基于文本的文件执行此操作,但似乎无法弄清楚如何从图像等内容中提取二进制数据。这是我所拥有的:
var zipArchive = new System.IO.Compression.ZipArchive(stream);
foreach (var entry in zipArchive.Entries)
{
using (var entryStream = entry.Open())
{
if (IsFileBinary(entry.Name))
{
using (BinaryReader br = new BinaryReader(entryStream))
{
//var fileSize = await reader.LoadAsync((uint)entryStream.Length);
var fileSize = br.BaseStream.Length;
byte[] read = br.ReadBytes((int)fileSize);
binaryContent = read;
我可以在 zip 文件中看到,但调用会Length
导致OperationNotSupported
错误。此外,考虑到我得到了一个 long 然后不得不转换为一个整数,感觉就像我错过了一些关于它应该如何工作的非常基本的东西。