我们有一个zip文件,其中可能包含多个PDF / JPG / TIFF文件。
我们有一种逻辑,可以将这个大的zip文件从一个文件夹移动到另一个文件夹(可能在其他服务器上)。
在此过程中,我们将zip压缩为1 MB的块,然后将其逐个移动。
由于某些未知的原因,有时,一个或多个块在此过程中被破坏,很少文件被破坏。
在unzip
(以编程方式或手动方式)时,我们会收到诸如“标题错误” 之类的错误。
这是我们用于移动zip文件的代码:
while (inputZip.Length > nAmountWritten)
{
buffer = reader.ReadBytes(10 * 1024 * 1024);
bw.Write(buffer); //Binary Writer for destination
nAmountWritten += buffer.Length;
}
我应该采取什么方法来避免在目标位置写入损坏的块?