我想创建一个插件,可以将zip文件从web传输到asp.net mvc后台并将其解压缩到我的服务器中。
在我的网站上,我选择了一个zip文件
<input type="file" id="FileZip">
并将它的值发布到我的asp.net方法
public async Task<string> FileTrs(string Zip)
然后我得到了以下类型的字符串
数据:应用程序/ x-ZIP压缩; BASE64,
如何将其解压缩到我的服务器中? 有人能告诉我,谢谢!
答案 0 :(得分:3)
我会做这样的事情,然后使用SharpZip-lib解压缩我的文件。
[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
}
}
}
如何使用SharpZip here的示例 在SharpoZipLib中使用它之前,您可能需要将上传的文件转换为流。
答案 1 :(得分: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”添加到参考