显示带有Ionic Zip Extract的下载文件对话框
本文关键字:下载 文件 对话框 Extract Zip Ionic 显示 | 更新日期: 2023-09-27 18:24:56
我在Ionic 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");
});
});
}
});
});