[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отдать файл на скачивание
Kusss
При нажатии кнопки скачать - картинка сохраняется в папку, и нужно сразу отдать её на скачивание в браузере.
Что нужно добавить в Ajax, чтобы картинка начала скачиваться ?
P.S. Картинка на сервере сохраняется.
<button id="save">Сохранить</button>
<div
id="m_block_full">тут картинка собирается из разных частей</div>


$(document).ready(function(){
$('#save').live('click',function(){
html2canvas($('#m_block_full')[0],{
onrendered: function(canvas){
document.body.appendChild(canvas);
maket_save();
}
}
);
});

});
function maket_save(){
var canvas = $('canvas')[0];
var data = canvas.toDataURL('image/png').replace(/data:image\/png;base64,/, '');
$('canvas').remove();

$.post('m_form.php',{'save':data}, function(save){
// Вот тут нужно что-то прописать
});
}


файл m_form.php
if (isset($_POST['save'])) {
$file = 'save/'.time().'.png';
file_put_contents($file, base64_decode($_POST['save']));

if (file_exists($file)) {
// сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
if (ob_get_level()) {
ob_end_clean();
}
// заставляем браузер показать окно сохранения файла
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; 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;
}

die();
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.