Проблема решена с определением типа ответа, установленного в blob
$http({
url: '/api/files/download',
method: "POST",
data: {
uri: uri
},
responseType: 'blob'
}).then(function (response) {
var data = response.data;
var headers = response.headers;
var blob = new Blob([data], { type: 'audio/mpeg' });
var fileName = headers('content-disposition');
saveAs(blob, fileName);
}).catch(function (response) {
console.log('Unable to download the file')
});
Как вы уже упоминали, вы не видите никакого значения для output_buffering
в своем комментарии, я предполагаю, что он отключен на вашем сервере.
Если вы используете свой собственный сервер, Configuration File (php.ini) Path
на странице phpinfo
(которую я попросил вас создать в комментариях).
Затем откройте этот файл, найдите строку ;output_buffering = Off
и измените его на:
output_buffering = 4096
Возможно, вам потребуется перезапустить сервер apache ( или ваш веб-сервер, если он отличается).
================================= ============================================================================================================================================================================================================================= конфигурации, добавив файл php.ini
в папку public_html
.
Создайте файл с именем php.ini
и включите output_buffering = 4096
в него, а затем загрузите его в папку public_html
. Он должен работать.
Надеюсь, что это поможет :) Не стесняйтесь спрашивать что-либо, если у вас есть какие-либо сомнения.