2016-04-20 31 views
1

我想做一个插件,它可以将zip文件从web转移到asp.net mvc背景并将其解压到我的服务器。解压缩base64 zipstream

在我的网站,我选择一个zip文件 <input type="file" id="FileZip"> 并张贴它的价值,我的asp.net方法

public async Task<string> FileTrs(string Zip) 

然后我得到了以下类型

数据的字符串: application/x-zip-compressed; base64,

我该如何解压缩到我的服务器? 有人可以告诉我,谢谢!

回答

3

我会做这样的事情,然后使用例如SharpZip-lib来解压我的文件。如何使用SharpZip here

[HttpPost] 
public async Task<string> FileTrs() 
{ 
    if (Request.Files.Any) 
    { 
     var file = Request.Files[0]; 
     if (file != null && file.ContentLength > 0) 
     { 
      // Unzip file here with for example SharpZipLib 
     } 
    } 
} 

例子也许你需要在SharpoZipLib使用之前上传的文件转换成流。

+0

你的意思是使用

? –

+0

是的,要发布您的文件,您必须在''标签中使用 Hypnobrew

+0

我正在找到将base64转换为gzip流的方式,但失败了。所以我很困惑,这种方法是否可以工作 –

0

对于.Net Framework 4.5及更高版本!这应适用于 解答如何解压缩,如果你有权访问服务器,它不应该是一个问题。

static void Extractor() 
    { 
     string whereMyZIPFileIs = @"path\fileName.zip"; 
     string whereIWantToExtract = @"pathOfExtraction"; 
     System.IO.Compression.ZipFile.ExtractToDirectory(whereMyZIPFileIs, whereIWantToExtract); 
    } 

请加 “System.IO.Compression.FileSystem.dll” 将参考

+0

该文件只在客户端,而在服务器端我不知道路径,我只知道base64字符串。 –

+0

@CeryDe Base64字符串在解码时表示什么? –

+0

data:application/x-zip-compressed; base64, –