2
我想下載通過PHP方法創建的zip文件。 當用戶點擊一個「下載」圖標時,該壓縮文件就會創建並自動下載。下載JS在PHP中創建的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.
海你們遇到了同樣的問題?我在這個網站上發現了類似的問題,但沒有一個面臨相同的情況。在此先感謝:)
@Charlie你的整個評論沒有通過.. – raidenace 2013-04-23 15:55:22
@Raidenade是的,對不起,我想我不能在評論中寫代碼。感謝您的回答。我正在通過$(「body」)。on(「click」,「。download」,function(){...})捕獲用戶的點擊,並調用一個JS方法,其中只包含我在上面發佈的AJAX。 – Charlie 2013-04-23 16:02:04
所以我想知道如何替換這個,因爲你告訴我要創建另一個超鏈接 – Charlie 2013-04-23 16:04:05