Показать сообщение отдельно
  #13 (permalink)  
Старый 17.09.2020, 13:48
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 717

Ну не знаю
Вот такой простой скрипт
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" lang="ru">
  <meta name="viewport" content="width=device-width, initial-scale=1.0" >
  <title> LOAD ZIP </title>
</head>
<body >
<button id=load>Load and save zip</button>
<span id='ldl'></span>
<script>
document.getElementById('load').addEventListener('click',
	() => {
		let filename; 
		fetch('getzip.php')
		.then (res => { 
			filename = res.headers.get("filename")
			return res.blob();
		})
		.then (blob => {
			document.getElementById('ldl').innerHTML = `Прочитан ${filename} ${blob.size} байт`; 
			let url = URL.createObjectURL(blob);
			let a = document.createElement('a');
			a.href =  url;
			a.download = filename;
			a.click();
			URL.revokeObjectURL(url)
		})

	}
)
</script>
</body>
</html>


С вот таким простым PHP

<?php

function file_force_download($file) {
    // заставляем браузер показать окно сохранения файла
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('filename: ' . basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    // читаем файл и отправляем его пользователю
    readfile($file);
    exit;
}

file_force_download('test.zip');
?>


Считывает zip и правильно сохраняет и в FF и в Chrome
Ответить с цитированием