C# 使用Ionic Zip解压缩显示下载文件对话框

C# 使用Ionic Zip解压缩显示下载文件对话框,c#,asp.net,C#,Asp.net,我在爱奥尼亚zip工作,我已经制作了zip文件,希望下载并自动解压缩。 我已经实现了提取功能,我在网页上有一个按钮,点击它将提取zip文件并下载到我在代码中提供的路径,下面是我的代码 String TargetDirectory = @"C:\"; using (ZipFile zip = ZipFile.Read(Server.MapPath(ConfigurationManager.AppSettings["zipfiles"] + filename)))

我在爱奥尼亚zip工作,我已经制作了zip文件,希望下载并自动解压缩。 我已经实现了提取功能,我在网页上有一个按钮,点击它将提取zip文件并下载到我在代码中提供的路径,下面是我的代码

String TargetDirectory = @"C:\";
            using (ZipFile zip = ZipFile.Read(Server.MapPath(ConfigurationManager.AppSettings["zipfiles"] + filename)))
            {
                zip.ExtractExistingFile = ExtractExistingFileAction.OverwriteSilently;
                zip.Password = password;
                zip.ExtractAll(TargetDirectory);
            }

这段代码运行良好,我想在单击按钮时显示下载对话框,并在用户从对话框中选择的路径上提取文件。我怎样才能做到这一点呢?

我们也面临着这个特殊的问题,我们的问题是要压缩的文件数量太多,压缩后的文件大小大约为2GB

我们是如何解决的。 1.我们有一个链接可以下载 2.用户点击它 3.我们显示了一个带有进度轮的弹出窗口 4.我们在不同的线程中在后台处理Zip。(必须仅为此用户创建Zip) 5.一切正常后,我们向用户显示一个下载链接 6.用户可以在任何地方下载它

我不确定这是否能帮助你,但它对我们有效

编辑以添加一些代码: 我们使用JQuery实现了这一点

// Action for download zip link
            $(".downloadZip").click(function () {
                var jqXhr;
                $("a.downloadZipAction").attr("href", "/GetFile?fileName=yourfile.Zip");
                $(".ZipDownLoadBox").show();
                $(".downloadingZip").show();
                $(".DownloadZipLink").addClass("hide");
                var dialogBox = $("#dialogZip").dialog({
                    modal: true,
                    width: '400px',
                    zIndex: 99999,
                    close: function (event, ui) {
                        jqXhr.abort();
                    },
                    open: function () {
                        jqXhr = $.post('@Url.Action("DownloadZip")', { uuid: $("#fileName").val() }, function (data) {
                            $(".ui-icon-gripsmall-diagonal-se").remove();
                            $(".downloadingZip").hide();
                            $(".DownloadZipLink").removeClass("hide");
                            $(".downloadZipAction").click(function () {
                                $(dialogBox).dialog("close");
                            });
                        });
                    }
                });
            });

是的,我也要做同样的事情,而且Zip已经为特定用户创建了,你们只能共享一些代码吗?