我有一个用户希望上传一个包含多个图像的zip文件和一个包含与图像相关的数据的CSV文件。他们希望能够上传zip文件,并让程序通过在CSV文件中查找和处理数据,然后将压缩内的图像存储到适当的位置来对其进行剖析。
我正在努力弄清楚如何打开拉链,这样我就可以循环遍历其中的每个文件,找到我需要的东西。有办法这样做吗?
发布于 2018-07-10 07:45:10
您可以使用Acumatica中的ZipArchive:
// Uploaded file needs to be attached to a DAC record
Guid[] files = PXNoteAttribute.GetFileNotes(DACCache, DACRecord);
UploadFileMaintenance upload = PXGraph.CreateInstance<UploadFileMaintenance>();
foreach (Guid fileID in files)
{
FileInfo fileInfo = upload.GetFile(fileID);
if (fileInfo != null)
{
using (MemoryStream stream = new MemoryStream(fileInfo.BinData))
{
ZipArchive zip = ZipArchive.OpenReadonly(stream);
string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
Directory.CreateDirectory(tempDirectory);
ZipFolder.Decompress(zip, tempDirectory, true);
foreach (string filePath in Directory.GetFiles(tempDirectory))
{
// Enumerating decompressed files
}
}
}
}
https://stackoverflow.com/questions/51268547
复制相似问题