PHP
- 3 ответа
- 0 вопросов
2
Вклад в тег
<?php
// Имя файла
$fileName = 'path/to/file/1.m4a';
// Посылаем заголовки
header("Content-Type: audio/mp4");
header("Content-Length: " . filesize($fileName));
// Если нужен диалог сохранения, добавляем такой заголовок:
$quoted = sprintf('"%s"', addcslashes(basename($fileName), '"\\')); // Или любое другое имя файла
header("Content-Disposition: attachment; filename='$quoted'");
// Можно использовать хэндлер файла
$fp = fopen($fileName, 'rb');
fpassthru($fp);
// А можно без хэндлера
readfile($fileName);
echo
отображается, да вот только ничто этот ответ не читает. А надо, чтобы читало.$.ajax({
xhr : function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener('progress', function(e) {
if (e.lengthComputable) {
console.log('Bytes Loaded: ' + e.loaded);
console.log('Total Size: ' + e.total);
console.log('Percentage Uploaded: ' + (e.loaded / e.total))
var percent = Math.round((e.loaded / e.total) * 100);
$('#progressBar').attr('aria-valuenow', percent).css('width', percent + '%').text(percent + '%');
}
});
return xhr;
},
type : 'POST',
url : '/union.php',
data : formData,
processData : false,
contentType : false,
// В response будет то, что вывел echo
success: doSmth(response) // <-- Вот тут. Можно и анонимную функцию сделать, это не критично
});
// Чтобы не усложнять
function doSmth(responseData) {
// ...
// ...
console.log(responseData);
// ...
}