Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何提取控制器中以zip文件形式从邮递员发送的文件_C#_.net Core_Postman - Fatal编程技术网

C# 如何提取控制器中以zip文件形式从邮递员发送的文件

C# 如何提取控制器中以zip文件形式从邮递员发送的文件,c#,.net-core,postman,C#,.net Core,Postman,我想将一组文件上载到azure blob存储中。在调用控制器内部的上载方法时,我必须以zip格式传递文件(正在使用邮递员进行此调用)。尽管正在控制器中获取压缩数据,但无法提取此压缩数据中的文件 下图显示了我如何调用api控制器并使用postman传递zip文件 如果我从压缩文件中获得单个文件流,我将能够将该值上载到azure blob,并获得相应的文件Id作为我所需的输出 请提供一个解决方案,说明是否需要任何第三方dll来获取zip文件中的各个文件的详细信息,或者这个问题可以在没有任何第三方工

我想将一组文件上载到azure blob存储中。在调用控制器内部的上载方法时,我必须以zip格式传递文件(正在使用邮递员进行此调用)。尽管正在控制器中获取压缩数据,但无法提取此压缩数据中的文件

下图显示了我如何调用api控制器并使用postman传递zip文件

如果我从压缩文件中获得单个文件流,我将能够将该值上载到azure blob,并获得相应的文件Id作为我所需的输出


请提供一个解决方案,说明是否需要任何第三方dll来获取zip文件中的各个文件的详细信息,或者这个问题可以在没有任何第三方工具的情况下解决。

如何使用?看起来很容易使用,并且有大量的文档和示例。

我认为您可以执行以下操作:

string ZipPath = Path.GetFullPath("myfile.zip"));
//ZipPath is "C:\temp\Demo\myfile.zip"

ZipArchive zipFile = ZipFile.Open(ZipPath, ZipArchiveMode.Read);
ZipArchiveEntry fileFromArchive = zipFile.GetEntry(FileName);
并使用此命名空间:

using System.IO.Compression;

您可以将文件解压缩到临时位置以访问各个文件。ZipArchiveMode的可能副本。更新用于编辑,ZipArchiveMode。读取用于提取,否则正确答案正确。谢谢你的提醒!无法获取代码中提到的zip文件路径-ZipPath。哦,抱歉。代码中的ZipPath是一个字符串参数(即,我自己声明并初始化了它)。我使用
Directiry.GetCurrentDirectory
方法和
Path.GetFullPath
方法来获取zip文件的路径。因此,ZipPath字符串看起来像:C:\temp\Demo\myfile.zip。以下是我使用的两种方法的参考:,
using System.IO.Compression;