簡體   English   中英

從受密碼保護的Zip文件中提取

[英]Extract from password protected Zip files

這是我的要求,我需要從受密碼保護的壓縮文件中提取文件。 我想知道是否有可用的代碼段。 我正在使用SSIS從FTP下載這些壓縮文件。 我可以使用4.5框架的任何最新更新嗎?

更新:

我現在已經引用了該文件並嘗試了一個示例,但是現在我遇到了異常,我什至嘗試在腳本任務中添加斷點,但是仍然得到的只是異常。

例外:

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

快照: 在此處輸入圖片說明

碼:

try
    {
            string zipfilePath = @"C:\ZipFiles";
            string zipPassword = "qwerty";
        using (ZipFile zip = new ZipFile())
        {
            zip.Password = zipPassword;
            zip.AddFile("File-01.txt");
            zip.AddFile("File-02.txt");
            zip.AddFile("File-03.txt");
            zip.AddFile("File-04.txt");
            zip.Save(zipfilePath + "AllFiles.zip");
        }
    }
    catch (Exception e)
    {
        MessageBox.Show(e.ToString());
    }

PS:我是C#新手

DotNetZip支持密碼保護。 它以NuGet軟件包的形式提供,允許您按如下方式從受密碼保護的zip文件中提取(從鏈接中獲取和修改):

string baseDirectory = "C:\\output";
string password = "password";

using (ZipFile zip = ZipFile.Read("MyArchive.zip"))
{
    ZipEntry e = zip["MyFile.txt"];
    e.ExtractWithPassword(baseDirectory, password);
}

我鏈接過的C#示例頁面上還有許多其他這樣的“代碼片段”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM