我想将一组文件上传到azure-blob-storage中。我必须在控制器内调用上载方法时以zip格式传递文件(我使用邮递员进行此调用)。尽管获得了压缩数据在控制器内部,无法从压缩数据中提取文件。
下图显示了我如何调用api控制器并使用邮递员传递zip文件。
[HttpPost]
public HttpResponseMessage PostFiles()
{
var zipfile = Request.Form.Files;
.....
如果我从压缩文件中获取单个文件的流,则可以将该值上传到azure blob并获取相应的文件ID作为所需的输出。
请提供解决方案,确定是否需要任何第三方dll来获取zip文件中的各个文件详细信息,或者无需任何第三方工具就可以解决此问题。
答案 0 :(得分:1)
我认为您可以执行以下操作:
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;
答案 1 :(得分:0)
使用SharpZipLib怎么样?看起来很容易使用,并且有大量的文档和示例。