В настоящее время я работаю над PHP script, который позволяет загружать содержимое мультимедиа (видео, аудио, изображения...) с вашего мобильного устройства, обращаясь к ссылке. (т.е. http://www.my-web-site.com/download.php?id=7ejs8ap) Мой script работал очень хорошо, когда я тестировал его с помощью последних мобильных телефонов (Samsung Galaxy S, iPhone 4S, некоторые другие...), но на моем старом мобильном Samsung C3050 произошла ошибка. Средства массовой информации, которые я хотел скачать, были просто аудио mp3 файлом, который я обычно загружаю легко.
Ошибка отображается как "Неизвестный тип содержимого". Итак, поскольку мой единственный HTTP-заголовок Content-Type был "application/force-download", я пытаюсь прокомментировать это и повторить попытку. Тогда это работает. Но теперь я сейчас спрашиваю, что означает этот Content-Type, и может ли он быть обязательным для других мобильных устройств. Я тестировал без Content-Type на iPhone 4, и он работает, но я не уверен в этой совместимости для всех мобильных устройств.
Может ли кто-нибудь объяснить мне, как работает этот Content-Type, почему это не стандартный MIME или все остальное, что может помочь мне убедиться, что это опциональный Content-Type для каждой загрузки, независимо от файла, браузера или устройство, которое я загружаю?
Спасибо всем.
Вот мои отправленные заголовки PHP:
<?php
//Assume that $filename and $filePath are correclty set.
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$filename.'"');
// header('Content-Type: application/force-download'); Non-standard MIME-Type, incompatible with Samsung C3050 for example. Let it commented
readfile($filePath);
?>
EDIT: я только что попробовал с Sony Xperia, и загрузка не была успешной: я вижу только "байты с html-кодированием" моего файла, который я хочу скачать. Как я могу узнать, какой тип содержимого я должен использовать, если приложение/октет-поток или приложение/принудительная загрузка не работают?