我在 zip 文件中有一个 zip 文件,在内部 zip 文件中有一个 Excel 和一个 PDF/Tif 文档。
我目前正在开发一种工具,可以读取所有这些文件并将它们存储在数据库中。在我先将这两个文件存储在一个文件夹中之前,但由于 zip 文件包含大量文件,我收到了磁盘空间不足的异常。
所以现在我想尝试在不知道文件夹位置的情况下直接将文件存储在数据库中。
// Path.Combine(exportPathNoZip,entry.FullName) --> \unzip\Files1\Files1.ZIP
using (ZipArchive archive = ZipFile.OpenRead(Path.Combine(exportPathNoZip,entry.FullName)))
{
// These are the files inside the zip file and contain the Excel and the image
foreach (ZipArchiveEntry item in archive.Entries)
{
// Save image to database
if (item.FullName.EndsWith(".tif", StringComparison.OrdinalIgnoreCase) ||
item.FullName.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase) ||
item.FullName.EndsWith(".pdf", StringComparison.OrdinalIgnoreCase))
{
byte[] file = File.ReadAllBytes(?????);
_formerRepository.InsertFormerFileAsBinary(file);
}
}
}
但这不起作用,因为这File.ReadAllBytes()
将需要一条路径。那么我能做什么呢?在本地存储文件会给我一个磁盘空间不足的异常,没有它我没有路径。
请注意,我只想将此System.IO.Compression
库用于此目的。