Firefox скачивает mp3 файлы без расширения - PullRequest
4 голосов
/ 08 ноября 2011

Я использую класс загрузки, который я нашел здесь http://www.phpclasses.org/package/3220-PHP-Serve-files-for-download-with-resume-support.html, чтобы позволить ppl скачивать mp3 файлы.

Отлично работает во всех браузерах, кроме Firefox (во всех версиях).

Когда я загружаю mp3-файл, используя этот класс в Firefox, он загружает файлы без расширения .mp3. что может вызвать это и как я могу это исправить?

Ответы [ 3 ]

8 голосов
/ 11 сентября 2012

Похоже, что для сохранения файла Firefox с расширением необходимо заключить имя файла в кавычки.

header('Content-Disposition: attachment; filename="'.$file.'"');
2 голосов
/ 15 сентября 2015

Пожалуйста, проверьте еще раз имя файла.Если загрузка файла имеет 1 символ - пробел ("") Пример: "template import.xls".Firefox будет ошибкой без расширения в загрузке.Вы можете использовать функцию replace ("", "") для решения этой проблемы с asp.net:

HttpContext.Current.Response.AddHeader ("content-disposition", "attachment; filename =" + reportName.Replace("", ""));

1 голос
/ 08 ноября 2011

Без кода я предполагаю, что вы не отправляете имя файла в виде заголовка HTTP:

header("Content-Disposition: attachment; filename=" . $filename);

Вам также следует отправлять правильный тип MIME:

header("Content-type: audio/mpeg3");

РЕДАКТИРОВАТЬ: Неважно, думал, что я не мог загрузить файл по ссылке ОП и теперь может видеть, что я был не прав.Сценарий явно использует эти методы, но не уверен, что делает это правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...