我想下载一个通过 PHP 方法创建的 zip 文件。当用户单击“下载”图标时,会创建 zip 并自动下载。
zip 创建工作正常。PHP 方法的结尾是这样的:
header("Content-disposition: attachment;filename=\"archive.zip\"");
header('Content-Type: application/zip');
header('Content-Length: ' . filesize($path_archive));
readfile($path_archive);
return;
这是我的 JS 文件中的 AJAX 方法。我的函数需要路径来创建存档。
$.ajax({
url: "url_of_PHP_method",
data : { path : path },
type: 'GET',
success: function (data) {
var uriContent = "data:application/zip;" + data;
var myWindow = window.open(uriContent, "archive.zip");
myWindow.focus();
}
});
不幸的是,下载的文件被称为“下载”。它没有扩展名,即使我用 .zip 扩展名重命名它,打开它也会出错:
End-of-central-directory signature not found.
哈你们遇到同样的问题吗?我在这个网站上发现了类似的问题,但没有人面临同样的情况。提前致谢 :)